Тег header в HTML: что это, для чего нужен и как его применять / Skillbox Media
Не путать с head! Знакомимся с тегом и учимся верстать шапку сайта.
Курс с трудоустройством: «Профессия Фронтенд-разработчик»
Узнать большеВерхняя часть многих сайтов состоит из логотипа, меню, строки поиска и других подобных элементов. Обычно эти элементы собраны в один блок, который называется шапкой сайта. Чтобы сделать шапку сайта нужен HTML-тег
Тег
Содержание
- Пример реализации
- Предназначение тега
- Атрибуты
- Как сделать шапку сайта
- Первый кейс: шапка сайта с логотипом и меню
- Второй кейс: шапка сайта с меню, фоновым изображением и текстом
Пример реализации
Шапку сайта можно оформить по-разному. Её вид будет зависеть от элементов, которые разработчик добавит внутрь парного тега
Представьте макет первого экрана сайта: сверху располагается логотип, под ним меню, ещё ниже — фоновое изображение с небольшим текстовым блоком. Один разработчик добавит в шапку только логотип. Другой — логотип и меню. Третий — весь первый экран. Все варианты допустимы и нет какого-то более правильного. Поэтому разработчики верстают шапки сайтов, опираясь на опыт и детали макета.
Пример шапки сайта с логотипом и меню:
Тег
Тег
стоит перед . Он содержит служебную информацию, которая помогает отображать страницу в браузере. Пользователи такой код не видят.Пример страницы с тегами
иОбычно тег
Возьмём страницу с каталогом, которая находится под шапкой сайта. Каталог состоит из карточек товаров и панели управления. В панель управления входит меню, поисковая строка и фильтры для подбора товаров. Так вот содержимое панели управления можно добавить в тег
На странице может находиться множество хедеров. Однако для сохранения структуры документа их не стоит вкладывать в
Предназначение тега
HTML-теги делятся на блочные и строчные. Тег
Если взять любой HTML-документ и заменить
В современной вёрстке
Семантика превратила
Атрибуты
Для тега
Из всех глобальных атрибутов к тегу
Добавим на страницу три шапки для записей в блоге. Присвоим каждой класс с именем и через таблицу стилей изменим цвет фона. Сделаем фон первой шапки красным, фон второй — жёлтым, а фон третьей — зелёным.
Тегам можно присваивать любые имена классов — HTML-спецификация позволяет. Однако есть рекомендация: давать имена классам по названию семантических элементов. Если элемент
Общепринятые названия имён классов делают код понятным и единообразным. Для наглядности зададим классу произвольное имя, например «top-of-page-content». Альтернатива: «header». Понятное имя, которое не нужно расшифровывать.
При совместной разработке не всегда получается давать классам общепринятые имена. Нужны специфические названия, которые предотвращают конфликт имён между частями проекта. Для этого созданы разные методологии, например БЭМ от компании «Яндекс». Вёрстка по БЭМ предполагает добавление имён ко всем тегам. Если на странице несколько тегов
Имена классов должны соответствовать набору правил, которые сейчас мы рассматривать не будем. Подробно про БЭМ у нас есть отдельная статья. Однако суть подхода в том, чтобы раздробить код на самодостаточные блоки с понятными названиями. В следующем разделе мы попрактикуемся и углубимся в объяснение.
Читайте также:
Методология БЭМ: что это такое и как она упрощает жизнь разработчикам
Как сделать шапку сайта
Вы уже знаете, что каждый разработчик на своё усмотрение выбирает элементы для шапки сайта. На процесс вёрстки это не влияет. Однако могут появиться вложенные блоки, которые вместе с БЭМ-неймингом иногда путают новичков.
Мы сверстаем две шапки сайта и разберёмся, какой блок зачем нужен. В первой шапке будет логотип и меню. Во второй — меню и фоновое изображение с коротким текстом. Если захотите попрактиковаться — можете скачать исходники или на своё усмотрение подобрать макет. Для подбора рекомендует freepik.com.
В этом разделе: план вёрстки, схема и код с комментариями.
План вёрстки:
- Создаём тег
. В нём будет находиться всё содержимое нашей шапки. - В тег
вкладываем тег с классом «container». Этот блок нужен для ограничения ширины контента на странице — чтобы на широкоформатных мониторах сайт не растягивался. Контейнер относится к переиспользуемым блокам, которые применяют к разным разделам страницы. Поэтому он отвечает только за два свойства: за ширину и центрирование контента.- В контейнер вкладываем внутреннюю обёртку. В коде это будет тег
с классом «header__inner». Запись через нижнее подчёркивание — это нейминг по БЭМ. Так мы указываем, что обёртка является элементом блока. К внутренней обёртке мы применим технологию Flexbox и сможем управлять расположением вложенных элементов. - Помещаем логотип и меню во внутреннюю обёртку. В нашем кейсе это самодостаточные блоки, которые можно переиспользовать на странице.
Схема вёрстки шапки сайта с логотипом и менюИзображение: Майя Мальгина для Skillbox Media
Шапка сайта с логотипом и меню после добавления HTML-разметки Скриншот: Skillbox Media
Шапка сайта с логотипом и меню после добавления CSS-стилей Изображение: pikisuperstar / Freepik / Skillbox Media В этом кейсе шапка сайта занимает весь первый экран. Нам предстоит не просто упорядочить блоки внутри такого объёмного хедера, но и предусмотреть ситуацию, чтобы вёрстка не сломалась в случае добавления нового контента.
Начнём с плана:
- Создаём
. - Делим
на две зоны: верхнюю с меню и нижнюю с контентом. Верхнюю зону называем « «, а нижнюю — « «. - Верстаем «
«.
- Создаём контейнер.
- В контейнере создаём внутреннюю обёртку — тег
с классом «header__top-inner». В макете с одним меню эта обёртка нам не понадобится. Однако если вы заходите добавить в верхнюю зону логотип или другой элемент, то к этой обёртке можно будет применить Flexbox.
- Добавляем во внутреннюю обёртку меню.
- Верстаем «
«.
- Создаём контейнер.
- В контейнере создаём внутреннюю обёртку. В коде это
с классом «header__content-inner». К обёртке мы применим технологию Flexbox.
- Вкладываем во внутреннюю обёртку заголовок и иконку.
Схема вёрстки шапки сайта с меню, фоновым изображением и текстом Изображение: Майя Мальгина для Skillbox Media
Шапка сайта с меню, фоновым изображением и текстом после добавления HTML-разметкиСкриншот: Skillbox Media
Шапка сайта с меню, фоновым изображением и текстом после добавления CSS-стилейИзображение: artroomstudio / Freepik / Skillbox Media Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!
Читайте также:
- Язык HTML: что это такое и как он работает
- Как правильно верстать HTML-таблицы
- Учимся верстать: что такое CSS
- HTML, CSS и веб-стандарты: возможности, ошибки разработчиков и неизвестные фичи
- Как адаптировать сайт под разные разрешения
- В контейнер вкладываем внутреннюю обёртку. В коде это будет тег