Ответы пользователя по тегу HTML
  • Как правильно верстать PSD-макет c шириной 1663px или Какими должны быть требования к макетам для дизайнеров?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Сверстать сайт с шириной в 1600 пикселей не проблема. Проблема сделать так, чтобы контент хорошо было видно на десктопах с более низкой шириной, аля 960-1300, имея всю ту же pixel-perfect верстку. Просить отдельный макет для мелких десктопов - мертвый номер, ибо почти никто не будет над таким париться. Делать примитивную резину для десктопа - выбор для тех, кого устраивает клепание говносайтиков. Ибо на сайтах с нормальным дизайном важно сохранение пропорций, 2015 год все таки.
    Я сейчас пилю фронт-енд для китайского интернет-магазина, у которого все десктоп макеты 1800px шириной. При этом им важно, чтобы на каком-нибудь ноутбуке с 1376x768 все выглядело так же, но при этом влезало. В итоге делаю все в rem юнитах. 1800 пикселей стартовая точка, где html, body {font-size: 125%;}, то есть 1rem = 20px (о том, почему не 62.5% для 1rem=10px, напишу ниже). Далее, через media-queries, снижаясь на каждые 10% от ширины, уменьшаю font-size на 10% (то есть на 12.5% в нашем случае). И так вплоть до 1.1к пикселей, то есть почти самого низкого десктопа. Заказчик в восторге, все выглядит ровно так как ему надо на всех разрешениях во всех браузерах (ему естественно не нужен убогий ie8).
    По поводу font-size: 125% - я изначально делал 62.5%, но при понижении до 40%- font-size (аля ~1300px) вебкитовские браузеры на MacOs начинали считать что такая величина шрифта слишком мала для юзера и сами по своей воле рандомно увеличивали габариты элементов. Увеличив весь font-size вдвое, проблема изчезла.
    Ответ написан
    7 комментариев
  • После textarea сайт обрывается, что делать?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Вы <textarea> закрыли тегом </textarea>?
    Ответ написан
    2 комментария
  • Как такое сверстать, затемненный фон с прозрачной областью?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Обычно подобные "подсвечивающие оверлеи" делаются под прямоугольные варианты, и тогда просто 4 оверлей-дива ставятся вокруг области и получается нужный эффект. Но так как у вас круг, то в голову лезут такие варианты:
    1) Что-то на канвасе. Тут кодом не помогу, с канвасом слабо дружу.
    2) Svg маски, возможно css blend-modes (не уверен).
    3) Создать глобальный overlay с z-index: 1. Создать блок, в него положить клон всего этого грида. Этот блок сделать таким вот круглым, задать ему z-index: 2. При движении этого блока, клон грида внутри двигаем в противоположном направлении. В итоге будет получаться эффект подсветки.
    4) Еще наверняка возможные какие-нибудь варианты с псевдоэлементами, svg, и оверлеем, состоящим из кусков, но у меня сейчас воображения на такое не хватит.
    Ответ написан
    1 комментарий
  • Минимальные версии браузеров?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Спрашивайте у клиента. Если сам клиент точно не знает - узнаете какая примерно у него аудитория. Если вы делаете какую-нибудь "онлайн-бухгалтерию", как выше в примере привели, то придется мучатся с каким-нибудь 8 осликом. Если вы делаете какой-нибудь визуально-навороченный сайт, который явно не ориентирован на странных людей с древними ИЕ, то клиент с легкостью может сказать "ие10+ нам подойдет", ибо затраты ради полноценного graceful degradation под ие9- попросту будут не оправданы из-за отсутствия надобности в таких сомнительных клиентах.
    + если клиент наобум говорит "ие8+, да чтоб даже какие-то эффекты работали" без дополнительной информации почему так, то вам надо изучить этот вопрос и предоставить ему статистику. Я просто сразу говорю что из-за отсутствия многих фич, разработка под такое старье будет сжирать на 20-50% больше времени и сильно деморализует меня, и после этого клиент внезапно начинает думать головой.
    Ответ написан
    Комментировать
  • Как сделать такой паралакс?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Писать код очень лень, напишу примерно возможные варианты:
    1) Использование css blend-modes. Но мне кажется что с неоднородной картинкой не прокатит такое.
    2) Дублировать этот заголовок, поменять его цвет, поместить его внутрь скошенного контейнера, повернуть его в обратную сторону с помощью skew (вы ведь скошенный контейнер через skew будете делать) и с помощью translateY все это дело двигать (аля контейнер двигается вверх, а заголовок вниз). В виде описания возможно выглядит сложно, но как только вы накидаете какой-нибудь кривой пример, станет куда проще.
    Вот например 2 демки с похожим эффектом маски (только без скошенных углов, но это по сути дела 1 свойство добавить):
    codepen.io/suez/pen/XJGOyL - здесь текст в пунктах меню "перекрашивается" в белый, хотя на самом деле внутри перемещающегося блока просто расположен дубликат списка, который движется в обратную сторону, во время движения самого блока.
    codepen.io/suez/pen/kqlIJ - моя самая первая демка на эту тему, код там скорее всего жутковатый, но зато можно легко понять как работает этот mask эффект через F12.
    Ответ написан
    Комментировать
  • Чем заняться на html/css?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Ну если речь идет о саморазвитии в свободное время и интересует вас при этом именно визуальщина, то либо всякие плагины/либы на гитхаб, либо демки на codepen.io пилить.
    Про гитхаб я не советчик, а вот по кодпену шарю. Заходите каждый день - смотрите чужие работы из picked/popular - ставите себе цель, делать не менее крутые штуки в будущем. Начать можете с форков чужих работ (там имеется крайне удобный для этого функционал) и ковыряния в них, дабы понять, что за магию люди делают. И параллельно с этим пилите свои демки на каждый чих. Каждый раз когда у вас в голове появляется мысль о реализации какого-то эффекта/лэйаута/компонента, лезете туда и пытаетесь это быстро накодить. На старте будут получаться некрасивые и кривые штуки, но потом очень быстро (при постоянной практике) уровень начнет серьёзно расти. Главное поначалу не задумываться о практическом применении таких поделок и просто делать то, что вам нравится.
    Сам начал на кодпене заниматься фигней год+ назад. Вначале просто пилил по 1 демке в неделю, чтобы друзьям в пятницу перед обедом показывать, типа "смотрите поцаны, какие штуки новые умею делать!". Тогда же в августе мой первый пен попал в picked pens. Ну а после этого понеслось. Вчера перешагнул отметку в 800 фолловеров (codepen.io/suez). Так же последние 3 месяца работаю исключительно по сарафану с кодпена с нормальным валютным рейтом.
    Ответ написан
    1 комментарий
  • Верстка нетривиального вида блока?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    codepen.io/suez/pen/14fc61c2e5f637b27464dab3c3ca8ad9 - топорный вариант сделанный на коленке. Координаты path полигона юзаются в clippath и в path с нужным вам stroke и stroke-color.
    В современных браузерах (кроме ие и еще каких-то инвалидов) можно юзать css clip-path, вот примеры codepen.io/dubrod/details/myNNyW
    Ответ написан
    Комментировать
  • Как правильно вызывать функции по ресайзу Javascript?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Не до конца понял что конкретно требуется, но обычно все делаю так:
    1) Создается функция, внутри которой лежит логика ресайза, и эта функция оборачивается в debounce функцию
    // обычно беру debounce функцию отсюда http://davidwalsh.name/javascript-debounce-function
    // ибо подключать ради неё какой-нибудь underscore/lodash это overkill
    function debounce(func, wait, immediate) {
    	var timeout;
    	return function() {
    		var context = this, args = arguments;
    		var later = function() {
    			timeout = null;
    			if (!immediate) func.apply(context, args);
    		};
    		var callNow = immediate && !timeout;
    		clearTimeout(timeout);
    		timeout = setTimeout(later, wait);
    		if (callNow) func.apply(context, args);
    	};
    };
    
    var resizeFn = debounce(function() { /* your logic */ }, 100); // 100 это собственно таймер дебаунса, то есть функция будет срабатывать только тогда, когда после последнего её вызова прошло минимум 100ms
    // прикрепляем функцию к обработчику события
    $(window).on("resize", resizeFn);

    2) Ну и так как вам необходимо все это дело триггернуть на загрузке страницы, то просто пишите resizeFn();и все.
    Это то что вам необходимо?
    Ответ написан
    Комментировать
  • Как сделать чтобы текст не вылазил за ширину блока?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    word-break: break-all;
    примененный к элементу с текстом, обеспечит перенос не влезающих в строку слов (если вам это необходимо конечно).
    И поверх всего этого савим еще overflow: hidden; для самого контейнера, если вы хотите чтобы за его пределы ничего не вылезало.
    Ответ написан
    2 комментария
  • Есть ли сервисы по антиминификации кода?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    В хроме можно при просмотре css/js в F12 просто кликать по фигурным скобочкам слева снизу и будет все ок.
    H8yt7vB.png
    Ответ написан
    Комментировать
  • Из верстальщика во фронт-ендера, какие технологии изучать в дальнейшем?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    0) Ванилла js это и есть обычный js.
    1) Начинать надо с одновременного изучения ваниллы и jQuery. По ванилле будете читать книги и всякие статьи, типа как работают замыкания, this, hoisting и так далее. А на jQuery вы собственно будете писать код, который будет что-то, да делать. Никто вам конечно не мешает забить на jQuery и по хардкору угарать только по ванильному жсу, но с огромной вероятностью, вместо того чтобы как то реально практиковаться в написании кода и выполнении каких-то простых задач, вы будете биться головой о стену, ибо для начинающего, работа с DOM (а только и этим можно заниматься поначалу) в ванилле это настоящая пытка. Очень важно пилить много велосипедов.
    2) Параллельно прокачиваете css. Там просто поле непаханных возможностей и фишек. Со временем скорее всего придет понимание того, что чего то в обычном css не хватает. Тогда и начнете юзать препроцессоры. Можно конечно и сейчас сразу начать, но я не уверен что от этого будет хоть какая-та польза (а вот риск начать юзать вложенность в full-retard mode имеется).
    3) Как только начнете писать хоть какой-то вменяемый js или юзать css с препроцессорами, тогда и придет пора автоматизации фронтэнда. Галпы, автопрефиксеры, склеивание/миницирование стилей/js и все такое. Об этом пункте вообще можно будет не париться долгое время, ибо все ваши задачи будут решаться установкой какого-нибудь генератора yeomana с маджонгом и гейшами.
    4) Фрейморвки. Ангулары, реакты, эмберы и так далее. Будете их изучать на основе статей и пет-проджектов, ибо на нормальную работу, где эти самые фрейморвки применяют, с 90% вероятностью не возьмут без опыта владения ими. Учить их все естественно не надо. Достаточно хорошенько покопаться в 1-2, чтобы понять принципы работы основных частей.
    4 пункт может с легкостью идти сразу за вторым, если вас больше интересует копание в жсе, и не особо интересно представление. Параллельно со всем перечисленным изучите стайлгайды, методолгии, модульные системы и все подобные вещи, которые необходимы для написания приличного кода.
    Ответ написан
    Комментировать
  • Как сверстать круги с линиями?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Если хотите красиво презентовать, то совершенно точно свг. Ибо можно будет классно анимировать отрисовку.
    Ответ написан
    Комментировать
  • Как лучше реализовать такую круговую навигацию?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    1) Свг. Оно для этого лучше всего подходит. Денис посоветовал D3, это наверное самый классический вариант.
    2) Можно на канвасе. Но на фоне свг это оверкилл, и его надо юзать только если вы захотите сделать что-то невероятно уникальное с какими-то неприлично крутыми эффектами.
    3) Можно на css. Валентин дал ссылку на codrops демку, но есть еще более старая и не менее крутая версия - stackoverflow.com/questions/13132864/creating-a-ra...
    Правда там имеются некоторые проблемы, ибо демку с тех пор никто не фиксил, скинул просто для ознакомления с "темной магией".
    Так же еще чекните вот это - sarasoueidan.com/tools/circulus
    Крутой интрумент от Сары, с помощью которого можно кастомизировать меню как следует. Но оно в плане дизайна не совсем подходит в вашем случае.
    Ответ написан
    1 комментарий
  • Как правильно сделать анимацию?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Без гифки анимации тяжело понять, как именно должен выглядеть сам эффект. Если у вас имеются отдельные картинки для этих двух букв, то можно легко анимировать с помощью transform: translateY + opacity.
    Если анимация должна быть более "красивой" и сложной, вам поможет свг. В любом случае ваше текущее описание мало о чем говорит.
    Ответ написан
  • Верстка страницы с фонами неправильной формы?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    codepen.io/suez/pen/29eaa4dc2230b58280b1bee92a8a64cb - пример на коленке, сделанный с помощью transform: skewY. Можно без проблем еще сделать с помощью rotate. В обоих случаях контент внутри блока нужно будет поворачивать на противоположное количество градусов, чтобы он выглядел как обычно.
    Вариант с трансформами оправдан только для тех случаев, когда пространство с этими срезанными углами должно быть "живым". То есть там будет виден какой-то контент/неоднородный бэкграунд и все такое. Если бг будет тупо черным, то проще сделать это на основе :before/:after.
    Ответ написан
  • Как сверстать волнистую линию?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Если эта штука будет абсолютно статичной - то делайте картинкой и не парьтесь.
    Если хочется чтобы эффекты можно было присобачить - делайте свг.
    tympanus.net/Development/TextInputEffects/index2.html - чекните Nao и Shoko, там при фокусе/блюре как раз идет анимация волнистой линии. Правда там линии изначально прямые, а кривая часть спрятана в оверфлоу и видна только во время анимации. У вас по виду так же красиво не получится сделать.
    Ответ написан
    Комментировать
  • Как сверстать данный (нестандартный) блок?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    clip-path: polygon для современных вебкитов/блинков. Весьма легко кастомизировать, можно всякие параллаксы сделать и при этом производительность будет хорошая.
    Svg clippath для более серьёзной поддержки.
    Можно нашаманить что-нибудь с transform: skew, но чую что решение будет похоже на один большой хак + будет пиксельная лесенка.
    P.S. - все написанное выше подразумевает, что вам это обязательно надо сверстать не с помощью картинки, то есть в этом должен быть какой-то смысл (эффекты/параллакс/что-то еще). Если то, что изображено на скриншоте, будет статичным (я про эти полигональные фоны), то проще сделать картинкой, у которой нижняя левая часть (там где обычный светлый фон) будет прозрачной.
    Ответ написан
    7 комментариев
  • Работа без высшего образования, это реально?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Вышка желательна/возможно даже обязательна, если:
    1) Вы захотите самостоятельно свалить в какую-нибудь цивилизованную страну. Причем не абы как на полгода пожить и выежать/заежать туда сюда, а полноценно иммигрировать туда как белый человек.
    2) Вы вдруг захотите работать в каких-нибудь гос-конторах. Там любят бумажки.
    3) Вы вдруг захотите попасть в крутую ит-корпорацию за рубежом. Есть конечно исключение, если вдруг вы будете настолько круты, что за вами рекретеры будут гоняться день и ночь, но на такое лучше точно не расчитывать.
    4) Вам припрет заняться машинным обучением/бигдатой/%другим_математическим_хардкором%. Причем вышка тут уже нужна будет не для корочки, а для реальных знаний. Возможен конечно вариант с серьёзным самообучением, но это уже скорее из разряда исключений.
    Ответ написан
    Комментировать
  • Angularjs и получение переменной?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    В контроллере, где вы хотите получить этот id, вам надо вставить $routeParams как зависимость, и тогда вы получите id вот так - $routeParams.id
    Ответ написан
    Комментировать