Вёрстка web-сайтов — разработка интерфейсной части сайта и перенос макета в веб. Этим занимается верстальщик. Умение верстать может стать первым шагом в карьере фронтенд-разработчика.
Для работы верстальщику нужно изучить:
● язык разметки: HTML, HTML5,
● CSS,
● основы JavaScript,
● принципы работы визуальных редакторов,
● инструменты проверки валидности кода.
Лучше сразу учитывать, как вёрстка страницы сайта будет смотреться на разных устройствах и в программах. Поэтому в чистом виде вёрстки сайтов только одного типа не бывает, она должна быть одновременно кроссбраузерной, кроссплатформенной, валидной и семантической.
Валидная вёрстка — это HTML-код, который написан по определённым стандартам. Их разработал Консорциум Всемирной Паутины — World Wide Web Consortium (W3C).
Валидность — соответствие HTML-кода стандартам, которые позволяют сайту работать в разных браузерах и программах так, как было задумано.
Валидность определяет, как на сайт будут реагировать поисковые системы и как его будут воспринимать пользователи. Проверить вёрстку сайта можно и вручную, и с помощью специальных сервисов или расширений в браузере. Например, с помощью сервиса Markup Validation Service, плагина Web Developer для Chrome или в валидаторе W3С.
Чтобы проверить код в валидаторе W3C, нужно загрузить в сервис HTML-файл, фрагмент кода или вставить ссылку на сайт.
Валидатор оценивает синтаксис, находит синтаксические ошибки и ошибки вложенности тегов, показывает структуру заголовков. Например, элементы можно вкладывать друг в друга по определённым правилам ― так внутрь списков можно вкладывать только специальные элементы списка.
Валидаторы не ошибаются, и пренебрегать ими не стоит. Не все ошибки, подсвеченные валидатором, приводят к неправильному отображению элементов, но всё же следует их исправлять, потому что на это обращают внимание поисковики при ранжировании сайтов.
На сайте google.com валидатор обнаружил 119 ошибок, тем не менее ежедневно им пользуются до 4 миллиардов людей
Главное правило хорошей вёрстки: чем раньше в продукт закладывается удобство для пользователей, тем легче его достичь. Поэтому вёрстка сайта с нуля начинается с вопросов дизайнеру. Нужно стараться предусмотреть потенциальные изменения: добавление новых элементов на сайт, возможные устройства и программы для использования сайта.
Например, на сайте есть пять карточек товара. Что произойдёт, если понадобится добавить шестую? Решение лучше сразу обсудить с дизайнером. Возможно, новую карточку лучше перенести на новую строку или сжать остальные и уместить шесть карточек в пять колонок.
Чтобы сделать вёрстку макета сайта качественно, нужно учитывать следующие параметры:
Содержимое сайта должно хорошо считываться с любого устройства пользователем с любыми особенностями здоровья.
Например, на ярком солнце плохо видны элементы сайта. Этого можно избежать, если попросить дизайнера проверить сайт на контрастность с помощью плагинов в Figma.
Вот несколько плагинов для работы с контрастностью:
Contrast
проверяет доступность цветового контраста любых элементов в макете.
Adee Comprehensive Accessibility Tool
проверяет цветовой контраст и моделирует несколько режимов того, как будут видеть дизайн люди с различными формами дальтонизма.
HCL Easy
позволяет быстро подобрать цветовые палитры, которые соответствуют требованиям контрастности и особенностям цветовосприятия человека.
Low Vision
тестирует пользовательский интерфейс на соответствие различным типам нарушений зрения.
Часто на сайтах шрифт в поле ввода подкрашивается зелёным, если данные внесли правильно, и красным, если нет. Но разный цвет шрифта не будет виден пользователям с особенностями зрения. Поэтому состояния кнопок и других элементов дополнительно передают значком, например галочкой или крестиком.
Интерактивность — это взаимодействие пользователя с элементами, например, наведение или нажатие. При этом ни сам элемент, ни окружающие его блоки не меняют положения, если это не предусмотрено макетом.
Расположение элементов на сайте и взаимодействие с ними пользователя подчиняется Закону Фиттса:
Чем дальше кнопка от последнего клика мыши и чем меньше её размер, тем больше времени необходимо пользователю для клика по ней. Чем больше цель и чем ближе она находится к мышке, тем быстрее получится её достичь.
Иконку меню из трёх параллельных горизонтальных линий, или гамбургер, рекомендуют делать достаточно крупной, чтобы пользователю не пришлось долго в неё целиться
Это кроссбраузерная вёрстка, которая практически идентична макету: шрифты на месте, расстояние между строками и буквами совпадает, иконки одинакового размера. Чтобы этого добиться, используют специальные плагины в браузере:
● Pixel Perfect для Firefox;
● Pixel Perfect для Google Chrome;
● Кроссбраузерный WellDoneCode.
Они позволяют накладывать картинку дизайнера на вёрстку, чтобы увидеть разницу с макетом, и подогнать сайт под него.
Инструмент | Какие задачи решает |
---|---|
Дока — документация для разработчиков | Изучить языки: HTML, CSS, JavaScript, а также теги, атрибуты, CSS-свойства |
DevTools — плагин для отладки сайтов | Проверить результат без изменения исходного кода и разобраться, какие теги и атрибуты есть на странице, почему не подгрузились шрифты |
Figma — графический редактор для совместного проектирования сайтов | Смотреть размеры элементов и копировать свойства |
Редакторы кода: | Встроенные валидаторы указывают на ошибки, подсвечивают их.
Поддерживают автоматическую перезагрузку страницы в браузере при изменении кода |
Emmet — плагин с сокращениями | Создать базовую структуру HTML-разметки за несколько секунд |
Проверить, всё ли работает, можно по шагам:
1. Прогнать вёрстку макета сайта через валидатор.
2. Проверить вёрстку с помощью DevTools:
● Открыть сайт на разных размерах экрана и убедиться, что все элементы на своих местах.
● Включить и выключить тёмную тему, уменьшить анимации, высокую контрастность, выставить минимальный размер шрифта.
● Добавить больше текста в разные места в интерфейсе и смотреть, как он подстраивается под изменения, потому что чаще всего текст из макета и наполнение сайта на этапе вёрстки далеки от финальных.
● Добавить и убрать пункты списков, карточки товаров и другие перечисляемые элементы.
После проверки вёрстки сайта нужно исправить явные ошибки. Остальное, что не критично для пользователя, можно доделать после запуска сайта.
Знать языки: HTML и CSS, JavaScript, их теги и атрибуты.
Уметь отличать контентные изображения от декоративных, чтобы знать, какие сверстать тегом, а какие можно сделать фоном через CSS.
Учиться верстать с помощью относительных единиц em и rem вместо пикселей — так интерфейс будет правильно реагировать на настройки размера шрифта в браузере.
Заводить при работе над макетом сайта базовую палитру цветов и использовать их в компонентах. Если заранее задать переменные с цветами и использовать их в вёрстке, при разработке это сильно облегчит работу.
После этого можно переходить на следующий уровень — изучать шаблонизаторы или статические генераторы сайтов, которые помогут переиспользовать разные блоки, например шапки и подвал на всех страницах.
Читать также: