Header html примеры. Правила для грамотного написания h1. Что за тег h1

int header (string string [, bool replace])

header() используется для отправки необработанных HTTP-шапок. См. в спецификации HTTP/1.1 информацию о HTTP headers.

Необязательный параметр replace указывает, должна ли шапка замещать предыдущую аналогичную шапку, или нужно добавить вторую header того же самого типа. По умолчанию выполняется замещение, но, если вы передаёте FALSE в качестве второго аргумента, вы можете форсировать создание нескольких headers одного типа. Например:

Примечание: строка шапки HTTP-статуса всегда будет отправляться первой клиенту, независимо от того, идёт вызов header() первым или нет. Этот статус может быть переопределён вызовом header() с новой строкой статуса в любое время, если только HTTP headers уже не отправлены.

Примечание: в PHP 3 это работает только в том случае. если PHP скомпилирован как Apache-модуль. Вы может добиться того же эффекта, используя шапку Status .

Примечание: HTTP/1.1 требует абсолютного URI в качестве аргумента для Location: включая схему, имя хоста и абсолютный путь, но некоторые клиенты принимают относительные URI. Как правило вы можете сами использовать $_SERVER["HTTP_HOST"] , $_SERVER["PHP_SELF"] и dirname() для создания абсолютного URI из относительного:

Примечание: вы можете обнаружить, что ваши страницы не кэшируются, даже если вы не выводите все выше указанные шапки. Есть опции, которые могут быть установлены пользователями в своих браузерах, изменяющие поведение по умолчанию кэширования. Отправляя вышеуказанные шапки, вы должны переопределить любые установки, которые иначе могут кэшировать ваши скрипты.

// нарушение: обратите внимание на пустую строчку вверху

Примечание: в PHP 4 вы можете использовать буферизацию вывода для решения этой проблемы, передавая браузеру весь ваш вывод, буферизуемый на сервере до отправки. Вы можете сделать это вызовом ob_start() и ob_end_flush() в вашем скрипте, или установив директиву конфигурации output_buffering в файле php.ini или файлах конфигурации сервера.

Если вы хотите, чтобы пользователю задавался вопрос о сохранении данных, высылаемых вами, таких как сгенерированный PDF-файл, вы можете использовать шапку Content-Disposition для предоставления рекомендуемого файла и форсировать отображение браузером диалога save.

При работе с сайтом первый из тегов, с которым сталкивается программист в HTML, - . При его использовании без атрибутов, различий в сравнении с другими тегами не видно, из-за чего возникает вопрос возможных причин его использования.

Как и где использовать?

является вводным для некоторого раздела документа. Он не является обязательным в использовании и обычно прописывается в верхней части раздела страницы. С английского "тег" переводится как "заголовок", но в российском сленге чаще используется слово "шапка". Обычно этот тег используется в верхней части страницы, где располагается имя и логотип сайта, а также вспомогательное меню. Однако нередко можно встретить его использование и в заголовках разделов.

В HTML , как и ряд других тегов, появился лишь в 5-й версии языка разметки. Поэтому не все браузеры правильно обрабатывают его. В спецификации языка предполагается, чтобы тег содержал в себе заголовок раздела (h1-h6) или страницы, а также необходимые в "шапке" сайта вспомогательные элементы, включая баннеры, блок контактных данных и другие. Как и большинство тегов в HTML, должен иметь свою "закрывающую пару" - , обозначающий окончание действия свойств данного тега. Желая подстроить под свой личный тип оформления, для тега можно использовать ряд атрибутов, определяющих его стиль.

Примеры использования

Практика работы с тегом позволит полностью понять принципы работы . HTML-примеры его использования можно найти практически на каждом крупном сайте. На них он обычно применяется для обозначения верхнего колонтитула.

Одним из способов задания "шапки" сайта с помощью тега является следующий пример:

HTML5

Помимо заголовка, сюда можно также добавить любые желаемые элементы и теги, за исключением . Он отвечает за нижний колонтитул страницы и не может присутствовать в "шапке" сайта. При обнаружении этого элемента внутри тега заголовка сайт будет загружаться неверно.

В HTML5 для структуры кода введено несколько новых тегов: , , , , , которые заменяют в некоторых случаях привычный . Хотя кажется, что особой разницы между тегами и нет, между ними лежит огромная пропасть. Теги ориентированы не на людей, которым нет смысла заглядывать в исходный код страницы, а на машины, интерпретирующих код. Машины или роботы не понимают , для них это типовой тег разметки - замени его на и смысл не поменяется. Другое дело , робот, обнаружив этот тег, воспринимает его именно как шапку сайта или раздела.

Что это даёт в итоге? Поисковые системы начинают лучше индексировать сайт, потому что чётко отделяют контент страницы от вспомогательных элементов. Речевые браузеры, предназначенные для слепых людей, пропускают заголовок и переходят непосредственно к содержимому. Сайты могут автоматически обмениваться контентом и другой информацией между собой. Все эти возможности называются семантикой и позволяют представить данные в удобном для роботов виде.

Давайте для начала сделаем шапку сайта с помощью тега (пример 6.2).

Пример 6.2. Использование

Попытка добавить в стилях фон к тегу ни к чему не привела, фон в некоторых браузерах отображаться не желает. Все новые теги следует сделать вначале блочными через свойство display , тогда они начнут корректно выводиться (пример 6.3).

Пример 6.3. Шапка сайта

HTML5 CSS 2.1 IE 7+ IE 9+ Cr Op Sa Fx

header { display: block; background: #00B0D8 url(images/header-gradient.png) repeat-x; }

Данный пример будет работать во всех браузерах, кроме IE7 и IE8. Internet Explorer не добавляет стиль к элементам, которые не понимает. Это недоразумение можно исправить, если создать фиктивный элемент с помощью JavaScript. Для этого включим в такой код.

document.createElement("header");

Если на странице встречается один тег, этот скрипт вполне подойдёт для работы. Но не хочется повторять строку десять раз для десяти разных тегов, поэтому автоматизируем этот процесс через цикл. Сами теги указываются списком, разделяясь запятой (пример 6.4).

Пример 6.4. Скрипт для IE

var e = ("article,aside,figcaption,figure,footer,header,hgroup,nav,section,time").split(","); for (var i = 0; i < e.length; i++) { document.createElement(e[i]); }

Сам скрипт заключается в условные комментарии, чтобы выполнялся только для IE версии 8.0 и ниже. В IE9 поддержка новых тегов HTML5 уже включена.

Пример выше не обязательно вставлять к себе на сайт, можно воспользоваться общедоступным скриптом написанным Реми Шарпом и распространяемым по лицензии MIT. Для этого достаточно указать на него ссылку, как показано в примере 6.5.

Пример 6.5. Скрипт для IE

Все указанные скрипты должны располагаться в коде перед CSS.

Таким образом, для полноценного использования тегов HTML5 во всех браузерах достаточно выполнить три условия:

  • установить доктайп ;
  • включить скрипт из примера 6.4 или 6.5;
  • в стилях для новых тегов установить display : block .
  • Теперь рассмотрим некоторые теги HTML5 более подробно, чтобы понять область их применения.

    Пример 6.6. Использование тега

    HTML5 IE Cr Op Sa Fx

    article Следы невиданных зверей История о том, как возле столовой появились загадочные розовые следы с шестью пальцами, и почему это случилось.

    Определяет блок, который не относится к основному контенту, для размещения рубрик, ссылок на архив, меток и другой информации (пример 6.7). Такой блок, если он располагается сбоку, называется, как правило, «сайдбар» или «боковая панель».

    Пример 6.7. Использование

    HTML5 IE Cr Op Sa Fx

    aside document.createElement("aside"); document.createElement("article"); aside { background: #f0f0f0; /* Цвет фона */ padding: 10px; /* Поля */ width: 200px; /* Ширина сайдбара */ float: right; /* Обтекание слева */ } article { margin-right: 240px; /* Отступ справа */ display: block; /* Блочный элемент */ }

    Экономьте электричество

    Хороший язык

    Чья палка больше

    История о том, как приходилось экономить электричество, какие меры для этого принимались, и куда оно на самом деле уходило.

    Используется для группирования любых элементов, например, изображений и подписей к ним (пример 6.8).

    Пример 6.8. Использование

    HTML5 IE Cr Op Sa Fx

    figure document.createElement("figure"); document.createElement("figcaption"); figure { background: #5f6a72; /* Цвет фона */ padding: 10px; /* Поля вокруг */ display: block; /* Блочный элемент */ width: 150px; /* Ширина */ float: left; /* Блоки выстраиваются по горизонтали */ margin: 0 10px 10px 0; /* Отступы */ text-align: center; /* Выравнивание по центру */ } figcaption { color: #fff; /* Цвет текста */ }

    Софийский собор

    Польский костёл

    Содержит описание для тега . Тег должен быть первым или последним элементом в группе.

    Задаёт «подвал» сайта или раздела, в нем обычно располагается имя автора, дата документа, контактная и правовая информация (пример 6.9).

    Пример 6.9. Использование

    HTML5 IE Cr Op Sa Fx

    footer Персональный сайт Кристины Ветровой Добро пожаловать!

    Рада приветствовать вас на своем сайте.

    Copyright Кристина Ветрова

    Определяет «шапку» сайта или раздела.

    Используется для группирования заголовков веб-страницы или раздела (пример 6.10).

    Пример 6.10. Использование

    HTML5 IE Cr Op Sa Fx

    hgroup Кристина Ветрова Персональный сайт

    Задаёт навигацию по сайту (пример 6.11). Если на странице несколько блоков ссылок, то в обычно помещают приоритетные ссылки. Также допустимо использовать несколько тегов в документе. Запрещается вкладывать внутрь .

    Пример 6.11. Использование

    HTML5 IE Cr Op Sa Fx

    nav Чебурашка и крокодил Гена Чебурашка | Гена | Шапокляк | Лариска Добро пожаловать!

    Определяет раздел документа, который может включать в себя заголовки, шапку, подвал и текст (пример 6.12). Допускается вкладывать один тег внутрь другого.

    Пример 6.12. Использование

    HTML5 IE Cr Op Sa Fx

    section Съёмки фильма Полипропилен

    История о том, как снимали фильм, где герои отдыхали на пляже, потом пришёл антагонист, избил протагонистов, сбросил их в бассейн, и что из этого получилось.

    Хороший язык

    История о том, как проходила студия изучения языка эсперанто, в то время, как над ней, на веранде велась студия приколистов, где травились анекдоты, и что из этого получилось.

    Помечает текст внутри тега как дата, время или одновременно дата и время. Может указываться непосредственно внутри контейнера , либо задаваться через атрибут datetime (пример 6.13).

    Дата и время задается в международном формате ISO 8601. Примеры оформления приведены в табл. 6.1.

    Для каждой единицы существует своя заданная форма и ограничения.

    • Год — задается четырьмя цифрами (1860).
    • Месяц — две цифры (01 — январь, 02 — февраль, 12 — декабрь).
    • День — две цифры от 01 до 31.
    • Час — две цифры от 00 до 23.
    • Минуты — две цифры от 00 до 59.
    • Секунды — две цифры от 00 до 59.
    • Часовой пояс — часы и минуты с указанием знака плюс или минус.

    Дата и время разделяются между собой заглавной латинской буквой T. Часовой пояс при необходимости пишется после времени со знаком плюс или минус. К примеру, для Москвы часовой пояс будет +03:00.

    Пример 6.13. Использование

    HTML5 IE Cr Op Sa Fx

    time

    1957-10-04 запущен первый искусственный спутник Земли.

    1960-08-19 первый полёт собак в космос.

    1961-04-12 первый полёт человека в космос.

    1963-06-16 первый полёт женщины-космонавта.

    1969-07-21 высадка человека на Луну.

    Зачастую вроде бы простые задачи верстки требуют сложной структуры HTML-разметки и использования CSS-трюков. Центрирование элементов или выравнивание контента может быть очень утомительным. Одна из таких задач - это выравнивание элементов верхней части сайта так, чтобы логотип был слева, а пункты меню - справа. Можно использовать float и position:absolute, а для выравнивания по вертикали - добавлять margin и padding разным элементам. Вроде бы ничего сложного. Но если сайт должен корректно отображаться и на мобильных устройствах, возникает много проблем.

    Ниже описан лаконичный способ решения этой проблемы.

    HTML-разметка максимально проста:

    Super Bad First LinkSecond LinkThird Link

    Высота шапки фиксированная, добавляем text-align: justify , для дочерних элементов:

    Header { text-align: justify; letter-spacing: 1px; height: 8em; padding: 2em 10%; background: #2c3e50; color: #fff; }

    Добавляем display: inline-block для всех элементов nav , чтобы можно было расположить их друг за другом:

    Header h1, header nav { display: inline-block; }

    Чтобы атрибут text-align: justify работал, как мы хотим, нужно использовать небольшой трюк с псведоэлементами, который был найден в статье Perfectly justified CSS grid technique using inline-block , автор Jelmer de Maat:

    Header::after { content: ""; display: inline-block; width: 100%; }

    В итоге получилось выравнивание по горизонтали, без использования float и position:absolute . Теперь необходимо выравнивание элементов по вертикали. При использовании vertical-align для элементов nav будет зависимость от высоты родительского блока - шапки. А это не очень правильно. Примеры использования vertical-align: top и vertical-align: middle на jsbin. Ниже представлен возможно наиболее удобный способ вертикального выравнивания.

    Используем снова псевдоэлементы. используя пример из статьи Centering in the Unknown , упомянутый Michał Czernow:

    Header h1 { height: 100%; } header h1::before { content: ""; display: inline-block; vertical-align: middle; height: 100%; }
    В результате получается то, что нужно:

    Осталось решить две задачи: корректное отображение при большом количестве текста в шапке и адаптивность. Если заголовок сайта будет слишком длинный, верстка начнет съезжать:

    Используем трюк с псевдоэлементом на header :

    CSS-код

    header { text-align: justify; height: 15em; padding: 2em 5%; background: #2c3e50; color: #fff; } header::after { content: ""; display: inline-block; width: 100%; } header > div, header nav, header div h1 { display: inline-block; vertical-align: middle; } header > div { width: 50%; height: 100%; text-align: left; } header > div::before { content: ""; display: inline-block; vertical-align: middle; height: 100%; }

    Выглядит намного лучше:

    Теперь перейдем к адаптивности. Есть несколько способов решения этой задачи, можно просто не задавать высоту шапке, и все внутренние элементы будут адаптивны высоте. При этом не потребуется второй трюк с псевдоэлементами, живой пример на jsbin.

    CSS-код

    header { text-align: justify; padding: 2em 5%; background: #2c3e50; color: #fff; } header::after { content: ""; display: inline-block; width: 100%; } header h1, header nav { display: inline-block; vertical-align: middle; } header h1 { width: 50%; text-align: left; padding-top: 0.5em; } header nav { padding-top: 1em; }

    Если же необходимо задать высоту шапки, то придется использовать и второй трюк с псевдоэлементами, и добавлять media query для экранов разных размеров:

    @media screen and (max-width: 820px){ header { height: auto; } header > div, header >

    Результат адаптивен и на мобильных устройствах выглядит так:

    В примере используется 820px для наглядности, на живом сайте значение конечно должно быть другое, в соответствии с требованиями. Для поддержки Internet Explorer 8 необходимо вместо “::” использовать “:” для псевдоэлементов.

    Финальный CSS-код

    @import url(http://fonts.googleapis.com/css?family=Lato:400,700italic); * { padding: 0; margin: 0; } body { background: #1abc9c; font-family: "Lato", sans-serif; text-transform: uppercase; letter-spacing: 1px;} header { text-align: justify; height: 8em; padding: 2em 5%; background: #2c3e50; color: #fff; } header::after { content: ""; display: inline-block; width: 100%; } header > div, header > div::before, header nav, header > div h1 { display: inline-block; vertical-align: middle; text-align: left; } header > div { height: 100%; } header > div::before { content: ""; height: 100%; } header > div h1 { font-size: 3em; font-style: italic; } header nav a { padding: 0 0.6em; white-space: nowrap; } header nav a:last-child { padding-right: 0; } @media screen and (max-width: 720px){ header { height: auto; } header > div, header > div h1, header nav { height: auto; width: auto; display: block; text-align: center; } }


    Результат:


    Как известно, не существует второго шанса произвести первое впечатление. В сфере цифрового дизайна эта истина подкрепляется высокой конкуренцией и широким разнообразием имеющихся решений. Причем, вполне очевидно, что при создании первого впечатления некоторые части веб-страницы являются более важными нежели остальные, например, header для сайта (шапка сайта). Сегодня рассмотрим все нюансы, которые касаются данного термина:

    Заметка является переводом статьи с uxplanet , за нее авторам большое спасибо.

    Что такое хедер сайта?

    В классическом макете блок header располагается в самом верху. Именно его люди видят в первую очередь, когда попадают на ваш проект. Будучи в каком-то смысле приглашением, он содержит основную информацию о продукте и нише, с которой связан сайт — важно чтобы пользователи могли в течение нескольких секунд понять, о чем идет речь.

    Дизайн шапки сайта имеет широкое поле для творческих решений, но при этом он должен быть броским, кратким и полезным. Здесь располагаются ключевые элементы навигации.

    На скриншоте показана домашняя страница интернет-магазина комиксов: сверху в хедере сайта найдете логотип, основное меню, а также иконки корзины и поиска.

    Что входит в шапку сайта?

    Данный блок может включать в себя различные объекты:

    • особенности бренда: логотип, название, фирменный знак, лозунг, талисман, фото компании или ее руководителя, и т.д.;
    • информация о представляемом продукте или услуге;
    • ссылки на важные элементы контента ();
    • линки на профили социальных сетей;
    • контакты (телефон, электронная почта и др.);
    • переключение языков при многоязычном интерфейсе;
    • блок поиска;
    • поле подписки;
    • ссылки на продукт: скачивание демо версии, адрес в AppStore и т.д.

    Не обязательно все указанные пункты должны быть использованы. Следите за тем, чтобы дизайн хедера для сайта не перегружался лишней информацией, которая мешает посетителям сосредоточиться на основных аспектах.

    Ниже приведены примеры размещения подобных элементов:

    Bjorn Website (проект студии дизайна интерьера)

    В верху макета находится фиксированная (прикрепленная) шапка сайта на странице, что позволяет ей оставаться постоянно видимой в процессе прокрутки. Слева она содержит логотип бренда, а справа — ссылки «Продукты», «Студия», «Новости» + иконку «Магазин». Центральная пустая область визуально разделяет эти два блока.

    Здесь хедер сайта использует другой подход: логотип и бренд — в центре, а левая и правая сторона имеют по две ссылки, позволяющие пользователям быстро перейти к нужным разделам.

    Почему важен header для сайта?

    Это объясняется рядом причин. Во-первых, когда люди посещают тот или иной веб-ресурс (особенно в первый раз) они не рассматривают всю страницу тщательно и подробно, а быстро пробегают ее взглядом, в поисках того, что привлечет внимание и убедит задержаться. Различные эксперименты показали наличие типичных моделей движения глаз пользователей. Упоминаются три основные варианта:

    Первая схема типична для страниц с однородным представлением информации и слабой визуальной иерархией. В ней выделяется четыре активные зоны, две из которых связаны с областью шапки сайта.

    Z-модель

    Другая схема движения глаз имеет Z-образный характер и типична для страниц с визуальным разделением блоков контента. Здесь, глаза читателя идут с верхнего левого угла в такой же правый, просматривая данную header в первую очередь.

    Достаточно часто пользователи демонстрируют следующий подход:

    • Вначале взгляд движется горизонтально, как правило, по верхней части — первая полоса F-образной модели.
    • Затем взор посетителя опускается ниже, и страница снова «сканируется» горизонтально, но охватывается более короткая область, чем в первом движении. Это дополнительный элемент F-схемы.
    • Наконец, взгляд перемещается к левой стороне экрана, которая просматривается вертикально. Иногда данный процесс довольно медленный и систематический, что выглядит как сплошная полоса на тепловой карте движения глаз. В других случаях взгляд двигается быстрее. Это последний элемент, создающий стебель буквы F.

    Все три варианта показывают, что просмотр начинается в верхней горизонтальной области. Таким образом шапка сайта на страницах веб-проекта играет одновременно две роли: пользователю предоставляется возможность быстро найти ключевую информацию, а разработчику выпадает шанс грамотно ее представить. Именно поэтому блок header так важен для , специалистов по контенту и продвижению продуктов.

    Как указывается в статье Богдана Санду, «сайт должен притягивать взгляд сразу, иначе он станет всего лишь большим провалом».

    Не смотря на все важные замечания из статьи, следует отметить, что далеко не каждый веб-ресурс нуждается в данном элементе. Во многих креативных дизайнах шапка сайта и ее функции связаны с другими зонами макета.

    Проектирование хедера сайта Читаемость и визуальная иерархия

    Этот пункт играет важную роль, поэтому нужен тщательный подход к шапки и цвета ее фона. Пользователь должен замечать и воспринимать всю информацию максимально быстро и без особых усилий.

    В концепте текущего новостного шаблона увидите меню в шапке сайта с двумя активными ссылками на категории публикаций, линком на «живой» эфир и полем поиска. Логотип по центру, как в одном из примеров выше.

    Здесь используется популярный с разбитой абстрактной сеткой, а header для сайта удачно его дополняет: левая часть визуально длиннее, состоит из логотипа и трех ссылок; правая — покороче, с элементами поиска и подписки.

    Нужно помнить о том, что в процессе перемещения пользователя по странице шапка сайта может по разному себя вести:

    • некоторые разработчики используют «липкий» (фиксированный) блок, всегда видимый и активный;
    • другие просто его скрывают;
    • еще есть вариант, когда шапка не исчезает полностью, а определенным образом сжимается при , оставляя доступной лишь основную важную информацию.
    Меню «гамбургер»

    Популярное дизайнерское решение, которое прячет базовые ссылки на разделы за соответствующей кнопкой. В блоге мы уже рассматривали эту фишку в статье про и его альтернативы.

    Данная кнопка сегодня часто является полноценным элементом в хедере сайта, и многие пользователи уже в курсе, что за ней скрывается основное меню. Такой подход освобождает пространство, делая макет минималистским и легким, а также сохраняя больше места другим объектам. К тому же это позволяет создать гармоничный интерфейс для различных типов устройств.

    Здесь показан вариант «компактного» меню в шапке сайта, содержащего много ссылок и поддерживающего простой общий стиль шаблона. Кроме него в хедере имеется две области: слева выделены красным цветом бренд и краткая информация о проекте; в правой зоне размещены и значок поиска. Центральная часть остается свободной, добавляя легкость и баланс всему макету.

    В структуре страницы слева много пустого места, а логотип и название фирмы находятся в верхнем углу, откуда начинается движение глаз. Далее в дизайне шапки расположена и линки на основные разделы. Подобный вариант позволяет скрыть множество ссылок и организовать хорошую визуальную иерархию.

    И хотя данное решение все еще вызывает активные споры, оно по-прежнему используется в качестве навигации header’а сайта. Его противники указывают на то, что этот блок может запутать неопытных интернет-пользователей новичков. Именно поэтому желательно принимать решение о внедрении «гамбургер» кнопки только после исследования целевой аудитории.

    Фиксированный (липкий) хедер сайта

    Здесь макет имеет фиксированный блок в самом верху, не скрывающийся при прокрутке. В нем содержится название, иконка лупы для поиска и кнопка «гамбургер».

    Ниже представлен еще один пример творческого подхода к эффективному дизайну шапки сайта. При первом входе видна только минималистичная ее реализация с иконками соц.сетей и поиском (никакого меню и т.п.). Но в процессе прокрутке образуется фиксированная полоска с традиционным набором элементов.

    Двойное меню

    Навигация в шапке сайта может состоять из двух разных меню. В современных это стандартный ход.

    На гифке ниже увидите «липкий» хедер, состоящий из двух «строк»:

    • В верхней расположены ссылки на социальные сети, поиск, магазина и кнопка меню; в центре находится логотип.
    • Вторая линия акцентирует внимание на основных разделах проекта: каталог товаров, местоположение точек продаж, новости и предложения, услуги и контакты.

    Иерархия хедера делает все элементы четкими и легко читаемыми, обеспечивая надежное взаимодействие с пользователем.

    Итого

    Шапка сайта является стратегически важной зоной в дизайне макета. Безусловно, каждый конкретный случай требует своего подхода и (возможно) проведения исследования пользователей, однако базовые нюансы, рассмотренные выше, всегда нужно учитывать.

    Если есть что добавить по статье из личного рабочего опыта, пишите ниже — интересно почитать. Какой вариант реализации header вам больше понравился?



    
    Top