HTML5 Семантические элементы
Семантика = Значение
Семантические элементы = Элементы со значением
Что такое семантические элементы?
Семантический элемент чётко описывает своё значение как для браузера, так и для разработчика.
Примеры несемантическихэлементов: <div> и <span> - ничего не говорят о своём содержимом.
Примеры семантическихэлементов: <form>, <table> и <img> - чётко определяют своё содержимое.
Поддержка браузеров
![]()
![]()
![]()
![]()
![]()
Internet Explorer 9+, Firefox, Chrome, Safari и Opera поддерживают семантические элементы.
Примечание:Internet Explorer 8 и более ранние версии не поддерживают эти элементы. Однако внизу статьи приведено решение для совместимости.
Новые семантические элементы в HTML5
Многие существующие сайты содержат HTML-код, например: <div id="nav">, <div class="header"> или <div id="footer">, чтобы обозначить навигационные ссылки, заголовки и нижние колонтитулы.
HTML5 предоставляет новые семантические элементы для четкого определения различных частей веб-страницы:
- <header>
- <nav>
- <section>
- <article>
- <aside>
- <figcaption>
- <figure>
- <footer>

Элемент <section> в HTML5
Тег <section> определяет раздел (секцию, сегмент) в документе. Например, главы, заголовки, нижние колонтитулы или другие части документа.
Согласно документации W3C HTML5: раздел содержит группу контента и его заголовок.
Пример
Попробуйте сами »
Элемент <article> в HTML5
Тег <article> определяет независимый контент.
Примеры использования элемента <article>:
- Сообщение на форуме
- Запись в блоге
- Новость
- Комментарий
Пример
Попробуйте сами »
Элемент <nav> HTML5
Тег <nav> определяет раздел навигационных ссылок.
Элемент <nav> используется для определения раздела навигационных ссылок страницы. Однако не все ссылки должны находиться внутри элемента <nav>!
Пример
Попробуйте сами »
Элемент <aside> HTML5
Тег <aside> определяет содержимое за пределами основной области содержимого страницы (например, боковой панели).
Содержимое тега aside должно быть связано с содержимым основной области.
Пример
Попробуйте сами »
Элемент <header> в HTML5
Элемент <header> описывает область заголовка документа.
Элемент <header> в основном используется для определения вводной области отображения содержимого.
На странице можно использовать несколько элементов <header>.
В следующем примере определяется заголовок статьи:
Пример
Попробуйте сами »
Элемент <footer> HTML5
Элемент <footer> описывает нижнюю область документа.
Элемент <footer> должен содержать информацию о содержащем его элементе.
Футер обычно содержит информацию об авторе документа, информацию об авторских правах, ссылки на условия использования, контактную информацию и т. д.
В документе можно использовать несколько элементов <footer>.
Пример
Попробуйте сами »
Элементы <figure> и <figcaption> HTML5
Тег <figure> задает независимый потоковый контент (изображения, диаграммы, фотографии, код и т. д.).
Содержимое элемента <figure> должно быть связано с основным содержимым, но при удалении оно не должно влиять на поток документа.
Тег <figcaption> определяет подпись элемента <figure>.
Элемент <figcaption> должен быть размещен как первый или последний дочерний элемент элемента "figure".
Пример
Попробуйте сами »
Можем ли мы начать использовать эти семантические элементы?
Все вышеперечисленные элементы являются блочными элементами (кроме <figcaption>).
Чтобы эти блочные элементы работали во всех версиях браузеров, необходимо задать следующие свойства в файле таблицы стилей (следующий код стиля позволяет старым браузерам поддерживать блочные элементы, представленные в этой главе):
{
display: block;
}
Проблемы в Internet Explorer 8 и более ранних версиях IE
IE8 и более ранние версии IE не могут отображать эффекты CSS в этих элементах, поэтому вы не можете использовать <header>, <section>, <footer>, <aside>, <nav>, <article>, <figure> или другие элементы HTML5.
Решение:Вы можете использовать JavaScript-скрипт HTML5 Shiv, чтобы решить проблему совместимости с IE. Адрес для загрузки HTML5 Shiv:https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/html5shiv/3.7.3/html5shiv.min.js
После загрузки поместите следующий код на веб-страницу:
<![endif]-->
Приведённый выше код загрузит файл html5shiv.js, когда версия браузера меньше IE9. Вы должны разместить его в элементе <head>, потому что браузеры IE должны отображать эти новые элементы HTML5 после загрузки head.
Другие расширения