Также здесь в начале урока еще раз отметим, что не следует ожидать чудес от представленных элементов. Визуально они действительно не выглядят слишком привлекательно. Однако они интересны с точки зрения того, что вы можете логически и семантически структурировать свои документы.
Области навигации
С помощью элемента nav можно семантически выделить элементы навигационных панелей или другие области для дополнительных элементов. Этот элемент предназначен в основном для обозначения ссылок на другие страницы или на дополнительную информацию.
Пример:
<nav> <a href="index.html">Главная</a> <a href="html5.html">Изучение HTML5</a> <a href="css.html">CSS</a> <a href="cms.html">Joomla!</a> <a href="wordpress.html">Wordpress</a> </nav>
Внутри nav можно использовать любые элементы. Таким образом, вы все еще можете определить навигацию в виде списков. Однако также легко вставлять другие элементы внутрь nav. Элемент nav также может использоваться несколько раз внутри документа.
Указание деталей
Еще один интересный элемент - details. С его помощью можно – что уже можно предположить по названию элемента – указывать дополнительную информацию об содержании. Обратите внимание, что элемент details становится действительно интересным только в связке с элементом summary. Больше об этом элементе будет рассказано далее.
Сначала пример использования details:
<article>
<details>
<summary>Ссылки на статью...</summary>
<ul>
<li><a href="ссылка1.html">Ссылка 1</a></li>
<li><a href="ссылка2.html">Ссылка 2</a></li>
<li><a href="ссылка3.html">Ссылка 3</a></li>
</ul>
</details>
<details>
<summary>Ссылки на источники для статьи ...</summary>
<ul>
<li><a href="источник1.html">Ссылка 4</a></li>
<li><a href="источник2.html">Ссылка 5</a></li>
<li><a href="источник3.html"">Ссылка 6</a></li>
</ul>
</details>
</article>
Содержимое элемента details будет скрыто перед посетителем до тех пор, пока он не нажмет на содержащийся внутри details элемент summary.
Это может быть полезно, например, в контексте видеоплеера. Вот пример:
<video id="film" width="320" height="180" autoplay>
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
<source src="video.ogv" type="video/ogg">
</video>
<details open>
<summary>Показать/скрыть элементы управления видеоплеера</summary>
<p>
<button id="start" onClick="start()">Старт/Пауза</button>
<button id="mute" onClick="mute()">Выключить звук</button>
<button id="louder" onClick="louder()">Громче</button>
<button id="quieter" onClick="quieter()">Тише</button>
</p>
</details>
При загрузке страницы видно только окно плеера.
Однако если посетитель щелкнет на ссылку включения и выключения, будут отображены содержащиеся внутри summary элементы.
Согласно спецификации, если элемент summary отсутствует, браузеры должны отобразить стандартное содержимое.
Интересно также использование атрибута open для details.
<details open> … </details>
Если этот атрибут установлен, содержимое элемента summary будет отображаться непосредственно при загрузке страницы.
Резюме
Итак, еще раз более подробно рассмотрим элемент summary.
<article>
<details>
<summary>Ссылки на статью...</summary>
<ul>
<li><a href="ссылка1.html">Ссылка 1</a></li>
<li><a href="ссылка2.html">Ссылка 2</a></li>
<li><a href="ссылка3.html">Ссылка 3</a></li>
</ul>
</details>
<details>
<summary>Ссылки на источники для статьи ...</summary>
<ul>
<li><a href="источник1.html">Ссылка 4</a></li>
<li><a href="источник2.html">Ссылка 5</a></li>
<li><a href="источник3.html"">Ссылка 6</a></li>
</ul>
</details>
</article>
Таким образом, внутри элемента summary определяется невидимое содержимое, связанное с элементом details. Благодаря элементу summary можно встраивать дополнительную информацию, которая будет отображаться только по запросу.
Действительно, можно реализовать раскрываемые и сворачиваемые области с помощью JavaScript. Однако, если JavaScript отключен в браузере, приложение не будет работать. Поэтому широкая поддержка элементов details и summary желательна.
Поля для заметок и сносок
Дополнительную информацию, заметки, перекрестные ссылки и т. д. в HTML5 можно выделить с помощью элемента aside. Содержимое, выделенное с помощью этого элемента, находится в связи с общим документом, но не является прямо относящимся к нему.
Обратите внимание, что в спецификации HTML5 не определено, какие размеры должны использоваться для области, выделенной через элемент aside. Следовательно, содержимое элемента aside может быть представлено как заметка, так и боковая панель.
Приведенный ниже пример показывает определение области с элементом aside.
<body>
<header>
<h1>PSD-Tutorials.de</h1>
</header>
<article>
<h2>Создание веб-приложений (часть 10): jQuery mobile (2)</h2>
<p>В этом учебнике создается первая настоящая страница JQM. Для этого вам понадобится структура HTML, которую вы уже изучили.</p>
<aside>
<h3>Дополнительная информация</h3>
<ul>
<li><a href="#/fn1">Более подробные сведения можно найти...</a></li>
</ul>
</aside>
</article>
<aside>
<nav>
<h2>Навигация</h2>
<ul>
<li><a href="#">Главная страница</a></li>
<li><a href="# ">Контакты</a></li>
</ul>
</nav>
</aside>
</body>Добавление времённых меток
Временные метки могут быть определены специальным элементом time. Особенность этого элемента заключается в том, что временные данными читаемы как человеком, так и машиной.
Для людей время записывается в элемент time. Чтобы браузеры также могли читать временные данные, используется атрибут datetime элемента time.
<p>Мы встретимся <time datetime="2014-04-15 19:00">15 апреля в 19:00</time>. </p>
Здесь еще раз хотелось бы отметить, что в текущих браузерах это не оказывает никакого визуального воздействия, а предназначено только для сделать время читабельным для машин.
Выделение текста
С помощью элемента mark можно выделить слова или целые текстовые фрагменты. В спецификации HTML5 специально отмечается, что элемент следует использовать только в контексте текстового содержимого и он должен иметь определенную связь с контекстом.
Пример:
<p>В этом учебнике создается первая страница JQM. Для этого вам понадобится <mark>HTML-Grundgerüst</mark>, которое вы уже изучили.</p>
То, как браузеры будут оформлять выделение, не определено.
Google Chrome и Firefox оба используют желтый фон.
Выделение диалогов
В HTML5 также предусмотрено особое выделение диалогов. Для этого существует элемент dialog. В настоящее время этот элемент поддерживается только Safari и Google Canary, т. е. версией браузера для разработчиков.
Вот пример:
<dialog id="dialog" style="width:50%;background-color:#F4FFEF;border:1px dotted black;">
<p>Это содержимое блока.</p>
<button id="hide">Закрыть</button>
</dialog>
<button id="show">Показать содержимое</button>
</div>
<script type="text/JavaScript">
(function() {
var dialog = document.getElementById('dialog');
document.getElementById('show').onclick = function() {
dialog.show();
};
document.getElementById('hide').onclick = function() {
dialog.close();
};
})();
</script>
После нажатия кнопки диалоговое окно становится видимым. Для правильной работы используется комбинация HTML5, CSS и JavaScript.