ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

HTML5 Учебник

HTML СТАРТ HTML Введение HTML Редакторы HTML Основные примеры HTML Элементы HTML Атрибуты HTML Заголовки HTML Параграфы HTML Стили HTML Форматирование HTML Цитаты HTML Комментарии HTML Цвета HTML CSS HTML Ссылки HTML Изображения HTML Таблицы HTML Списки HTML Блоки HTML Классы HTML Идентификаторы HTML Фреймы HTML JavaScript HTML Пути к файлам HTML Голова веб-страницы HTML Макеты HTML Адаптивность HTML Компьютерный код HTML Символьные объекты HTML Символы HTML Кодировка HTML URL кодирование HTML XHTML

HTML Формы

HTML Формы HTML Элементы формы HTML Типы ввода HTML Атрибуты ввода

HTML5

HTML5 Введение HTML5 Поддержка HTML5 Новые элементы HTML5 Семантические элементы HTML5 Переход с HTML4 HTML5 Гид по стилю

HTML Графика

HTML Canvas HTML SVG

HTML Медиа

HTML Медиа HTML Видео HTML Аудио HTML Плагины HTML YouTube

HTML API

HTML Геолокация HTML Drag/Drop HTML Web хранилище HTML Web работники HTML SSE

HTML Примеры

HTML Примеры HTML Викторина HTML Упражнения HTML Сертификат HTML Резюме HTML Доступность

HTML Справочники

HTML Список тегов HTML Атрибуты HTML Глобальные атрибуты HTML События HTML Цвета HTML Canvas HTML Аудио/Видео HTML Действующие Doctype HTML Наборы символов HTML URL кодировка HTML Кодировка языка HTTP Сообщения HTTP Методы PX в EM Конвертер Горячие клавиши

HTML5. Уроки для начинающих

HTML5 Семантические элементы


Что такое семантика?

Семантика - это изучение значений слов и фраз в языке.

Семантические элементы = элементы со смыслом.


Что такое семантические элементы?

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

Примеры не семантических элементов: <div> и <span> - ничего не говорят о своём содержимом.

Примеры семантических элементов: <form>, <table> и <article> - чётко указывают своё содержимое.


Поддержка браузерами семантических HTML элементов

Yes Yes Yes Yes Yes

Семантические элементы HTML5 поддерживаются во всех современных браузерах.

Кроме того, вы можете "научить" старые браузеры обращаться с "неизвестными элементами".

Узнайте об этом больше в разделе HTML5 Поддержка браузерами.


Новые семантические элементы в HTML5

Многие веб-сайты содержат HTML-код, например: <div id="nav">, <div class="header">, <div id="footer">, что определяет навигацию, верхний и нижний колонтитулы.

HTML5 предлагает новые семантические элементы для определения различных частей веб-страницы:

  • <article>
  • <aside>
  • <details>
  • <figcaption>
  • <figure>
  • <footer>
  • <header>
  • <main>
  • <mark>
  • <nav>
  • <section>
  • <summary>
  • <time>
HTML5 Semantic Elements


HTML5 элемент <section> - секция

Элемент <section> определяет раздел в документе.

Согласно документации W3C по HTML5: "Раздел - это тематическая группировка контента, обычно с заголовком."

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

Пример

<section>
  <h1>WWF</h1>
  <p>The World Wide Fund for Nature (WWF) is....</p>
</section>
Попробуйте сами »

HTML5 элемент <article> - статья

Элемент <article> определяет независимый, автономный контент.

Статья должна иметь смысл сама по себе, и должна быть возможность читать ее независимо от остальной части сайта.

Примеры того, где элемент <article> может использоваться:

  • Сообщение на форуме
  • Публикация в блоге
  • Газетная статья

Пример

<article>
  <h1>What Does WWF Do?</h1>
  <p>WWF's mission is to stop the degradation of our planet's natural environment,
  and build a future in which humans live in harmony with nature.</p>
</article>
Попробуйте сами »

Влаживать <article> в <section> или наоборот?

Элемент<article>определяет независимое, автономное содержание.

Элемент <section> определяет раздел в документе.

Можем ли мы использовать определение, чтобы решить, как вставить эти элементы? Нет, мы не можем!

Итак, в Интернете вы найдете HTML-страницы с элементами <section> которые содержат элементы <article> и элементы <article>, которые содержат элементы <section>.

Вы также найдёте страницы с элементами <section>, которые содержат элементы <section> и элементы <article>, которые содержат элементы <article>.

Пример из газеты: Спортивная статья <article> в спортивном разделе section, может содержать технический раздел section в каждой статье <article>.


HTML5 элемент <header> - заголовок

Элемент <header> определяет заголовок для документа или раздела.

Элемент <header> должен использоваться как контейнер для вступительного содержания.

Вы можете иметь несколько элементов <header> в одном документе.

Следующий пример определяет заголовок статьи:

Пример

<article>
  <header>
    <h1>What Does WWF Do?</h1>
    <p>WWF's mission:</p>
  </header>
  <p>WWF's mission is to stop the degradation of our planet's natural environment,
  and build a future in which humans live in harmony with nature.</p>
</article>
Попробуйте сами »

HTML5 Элемент <footer> - нижний колонтитул

Элемент <footer> определяет нижний колонтитул для документа или раздела.

Элемент <footer> должен содержать информацию о его содержащем элементе.

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

Может быть несколько элементов <footer> в одном документе.

Пример

<footer>
  <p>Posted by: Hege Refsnes</p>
  <p>Contact information: <a href="mailto:someone@example.com">
  someone@example.com</a>.</p>
</footer>
Попробуйте сами »

HTML5 элемент <nav> - навигация

Элемент <nav> определяет набор навигационных ссылок.

Обратите внимание, что НЕ все ссылки документа должны быть внутри элемента <nav>. Элемент <nav> предназначен только для основного блока навигационных ссылок.

Пример

<nav>
  <a href="/html/">HTML</a> |
  <a href="/css/">CSS</a> |
  <a href="/js/">JavaScript</a> |
  <a href="/jquery/">jQuery</a>
</nav>
Попробуйте сами »

HTML5 элемент <aside> - в стороне

Элемент <aside> определяет некоторый контент помимо контента, в который он помещен (например, боковая панель).

Контент <aside> должен быть связан с окружающим контентом.

Пример

<p>My family and I visited The Epcot center this summer.</p>

<aside>
  <h4>Epcot Center</h4>
  <p>The Epcot Center is a theme park in Disney World, Florida.</p>
</aside>
Попробуйте сами »

HTML5 элементы <figure> и <figcaption> - рисунок и подпись

Назначение подписи к рисунку - добавить визуальное объяснение к изображению.

В HTML5 рисунок и подпись к нему могут быть сгруппированы в элемент <figure>:

Пример

<figure>
  <img src="pic_trulli.jpg" alt="Trulli">
  <figcaption>Fig1. - Trulli, Puglia, Italy.</figcaption>
</figure>
Попробуйте сами »

Элемент <img> определяет изображение, элемент <figcaption> определяет подпись к нему.


Зачем нужны семантические элементы?

В HTML4 разработчики использовали свои собственные имена идентификаторов/классов для оформления элементов: header, top, bottom, footer, menu, navigation, main, container, content, article, sidebar, topnav и т.д.

Это сделало невозможным для поисковых систем определить правильное содержание веб-страницы.

С новыми HTML5 элементами (<header> <footer> <nav> <section> <article>) это стало легче.

Согласно W3C, семантический Web: "позволяет совместно использовать данные в приложениях, предприятиях и сообществах."


Семантические элементы в HTML5

Ниже приведен алфавитный список новых семантических элементов в HTML5.

Ссылки ведут на полный HTML5 Справочник.

Тег Описание
<article> Определяет статью
<aside> Определяет содержание, кроме содержания страницы
<details> Определяет дополнительные детали, которые пользователь может просматривать или скрывать
<figcaption> Определяет подпись для элемента <figure>
<figure> Определяет автономное содержание, например, иллюстрации, диаграммы, фотографии, списки кодов и т.д.
<footer> Определяет нижний колонтитул для документа или раздела
<header> Определяет заголовок для документа или раздела
<main> Определяет основное содержание документа
<mark> Определяет помеченный / выделенный текст
<nav> Определяет навигационные ссылки
<section> Определяет раздел в документе
<summary> Определяет видимый заголовок для элемента <details>
<time> Определяет дату/время