Создание семантической вёрстки по макету
Начнём с базовой разметки документа по макету:
- У нас есть доктайп;
- Указана кодировка документа;
- В корневом элементе указан язык документа;
- У всей страницы есть заголовок.
Всю страницу можно разделить на три логические части: шапку, контент и подвал. Начнём с шапки — это тег <header>. Этот тег задаёт «шапку» сайта или раздела, в которой обычно располагается заголовок.
Шапка содержит главные навигационные элементы страницы, поэтому обернём их в тег <nav>.
Основное меню — это список ссылок, так как мы перечисляем однородные элементы. Нам не нужна нумерация, поэтому обернём его в неупорядоченный список <ul>. Каждый элемент списка должен начинаться с тега <li>.
Все ссылки ведут на разделы, которых нет на макете — для них мы сделаем заглушку, чтобы при навигации не казалось, что это ошибка.
Добавим вторую часть меню с поиском, «избранным» и корзиной. Это тоже список ссылок, поэтому обернём его в неупорядоченный список <ul>.
Иконки декоративные, их оформляют в стилях на следующих этапах вёрстки макета.
Добавим заголовок <h1>, описывающий содержимое страницы. Надписи «Коллекция часов Conquest» как таковой нет, но с точки зрения логической структуры страницы будет правильно написать на главной странице заголовок первого уровня.
Для того чтобы в будущем скрыть заголовок, мы применим класс visually-hidden, чтобы позже скрыть заголовок.
Добавим логотип и логическую ссылку вокруг него.
На макете логотип располагается на уровне навигационного меню, по логике документа ему лучше идти первым.
Как и у всех контентных картинок, у логотипа заданы размеры и задано описание в атрибуте alt.
Вокруг логотипа — ссылка на главную, так как это устоявшийся паттерн взаимодействия с логотипами: ими обновляют страницы и переходят на главную страницу с внутренних. Ссылку делаем без атрибута href, ведь мы уже на главной. Атрибут вернётся на внутренних страницах.
Добавим контейнер для основного содержимого страницы — тег <main>
с классом main.
Основное содержимое страницы состоит из четырёх секций, обозначим их тегом <section> и приступим к вёрстке первого блока. Присвоим ему класс promo.
Элемент «Весна/Лето» — заголовок второго уровня <h2>, так как он описывает содержимое блока. Также добавим подзаголовок и текст.
Элемент «Смотреть каталог» является ссылкой, а не кнопкой, так как отвечает за навигацию. Обозначим её тегом <a> с атрибутом href.
Добавляем контентное изображение с часами с помощью тега <img>.
Добавляем описание товара с помощью тега <span>, так как цена и характеристика товара у нас не являются ссылкой, заголовком или чем-то самостоятельным, а несут больше информативный характер. Этот тег используем для дальнейшего удобства работы через CMS.
Приступаем ко второй секции главной страницы с каталогом товаров. Обозначим классом popular.
По аналогии с предыдущей секцией добавим заголовок <h2>.
Также добавим ссылку «Смотреть все» с помощью тега <a>
Добавим список товаров с помощью <ul>, каждый товар — отдельный пункт списка.
Каждый товар также обернём в тег <article>, который обозначает цельный, законченный и самостоятельный фрагмент информации.
Добавляем название товара с помощью <h2>, изображение часов, стоимость и оборачиваем «Подробнее» в ссылку <a>.
Третья секция — преимущества: <section> с невидимым заголовком <h2>.
Эта секция — слайдер, однако нам доступна только одна страница. Тем не менее, для будущих слайдов сверстаем блок с помощью списка <ul>.
Секцию разобьём на отдельные блоки с помощью <div> — с изображением и текстом.
Название самого преимущества — это <h3>, описание размечаем с помощью <p>.
По аналогии элемент «Смотреть каталог» является ссылкой, а не кнопкой, так как отвечает за навигацию. Обозначим её тегом <a> с атрибутом href.
Добавим вёрстку контролов управления. Это — кнопки, так как они являются функциональными элементами, поэтому мы используем тег <button>
Последняя секция — «Новости компании». По аналогии c предыдущими разделами добавляем невидимый заголовок <h2>.
Делим секцию на две колонки с помощью <div>.
Левую колонку с текстом размечаем с помощью <p>.
Правая часть секции — галерея фотографий, каждая из которых кликабельна и ведёт на страницу товара.
Добавим контейнер для подвала страницы — тег <footer>.
Футер состоит из четырёх колонок. Приступим к вёрстке первой.
Добавляем логотип компании с помощью <img>. Логотип, как и в шапке, кликабельный, поэтому оборачиваем его в ссылку.
Добавляем контакты компании с помощью <div>.
Адрес и телефон размечаем ссылками.
Размечаем вторую колонку «О компании» и добавляем тег для заголовка <h3>.
Список ссылок разметим как <ul>.
Третью колонку «Покупателям» размечаем по аналогии с предыдущей.
То же самое с последней колонкой «Оплата и доставка».
Разметка нашего макета готова!