Семантическая разметка

Содержание материала

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

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

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

Как уже отмечалось, при разработке HTML5 сделана попытка максимально учесть предыдущий опыт использования HTML. Компания Google проанализировала миллионы страниц в поиске общих идентификаторов имен в дескрипторах DIV и обнаружила огромное количество повторений. Например, для разметки нижнего колонтитула страниц многие разработчики используют в элементе DIV атрибут id="footer". Для создания различных частей документа HTML5 предоставляет новый набор элементов, который в современных браузерах можно использовать уже сегодня. Различные элементы семантической разметки приведены в табл. 1.2.

Таблица 1.2. Новые элементы секционирования документа в HTML5
Элемент секционирования Описание
header Содержимое верхней (начальной) части страницы или ее секции
footer Содержимое нижней (завершающей) части страницы или ее секции
section Секция веб-страницы
article Содержимое внешней статьи
aside Связанное содержимое или выдержка
nav Навигационные ссылки

Ко всем перечисленным элементам могут применяться стили CSS. Фактически, как уже отмечалось, когда мы рассматривали применение принципа полезности при проектировании веб-страниц, HTML5 поощряет разделение представления и содержимого, поэтому для стилевого оформления страниц HTML5 следует всегда использовать CSS.

Пример разметки страницы HTML5 показан в листинге 1.1. Здесь используются новые объявления типа документа и кодировки, а также новые семантические элементы гипертекстовой разметки — проще говоря, новое содержимое, обеспечивающее разбиение документа на различные разделы. Файл с этим кодом находится в папке code/intro.


Листинг 1.1. Пример страницы HTML5

<!DOCTYPE html>
 <html>
 <head>
 <meta charset»"utf-8" />
 <title>HTML5</title>
 clink rel="stylesheet" href="/html5.css">
 </head>
 <body>
 <header>
 <hl>Header</hl>
 <h2>Subtitle</h2>
 <h4 >HTML5 Rocks!</h4>
 </header>
 <div id="container">
 <nav>
 <h3>Nav</h3>
 <a href-"">Link l</a>
 <a href="/">Link 2</a>
 <a href="/">Link 3</a>
 <a href«"">Link 4</a>
 <a href-"">Link 5</a>
 </nav>
 <section>
 <article>
 <header>
 <hl>Article Header</hl>
 </header>
 <p>Lorem ipsum dolor HTML5 nunc aut nunquam sit
 amet, consectetur adipiscing elit.
 Vivamus at est eros, vel fringilla urna.</p>
 <p>Per inceptos himenaeos. Quisque feugiat, justo
 at vehicula pellentesque, turpis lorem
 dictum nunc.</p>
 <footer>
 <h2>Article Footer</h2>
 </footer>
 </article>
 <article>
 <header>
 <hl>Article Header</hl>
 </header>
 <p>HTML5: "Lorem ipsum dolor nunc aut nunquam sit
 amet, consectetur adipiscing elit.
 Vivamus at est eros, vel fringilla
 urna Pellentesque odio</p>
 <footer>
 <h2>Article Footer</h2>
 </footer></article>
</section>
<aside>
<h3>Aside</h3>
<p>HTML5: "Lorem ipsum dolor nunc aut nunquam sit
amet, consectetur adipiscing elit.
Vivamus at est eros, vel fringilla
urna. Pellentesque odio rhoncus</p>
</aside>
<footer>
<h2>Footer</h2>
</footer>
</div>
</body>

Без применения стилей страница выглядела бы довольно скучно. В листинге 1.1 приведен CSS-код, который может быть использован для стилевого оформления содержимого. Обратите внимание, что в таблице стилей используются новые элементы CSS3, например скругленные углы (border-radius) и поворотные преобразования (transform: rotate О ;). Следует отметить, что спецификация CSS3, как и сама спецификация HTML5, все еще находится в стадии разработки, и из нее выделяются отдельные модули вспомогательных спецификаций, что упрощает оперативное использование браузерами тех ее частей, которые более или менее близки к завершению (например, преобразования, анимация и переходы выделены во вспомогательные спецификации).

Чтобы избежать возникновения конфликтов имен при возможных последующих изменениях спецификации, экспериментальные средства CSS3 снабжаются префиксом в виде строки, идентифицирующей производителя браузера. В настоящее время для отображения скругленных углов, градиентов, теней и преобразований необходимо использовать в объявлениях такие префиксы, как -moz- (для браузеров Mozilla), о- (для браузеров Opera) и -webkit-(wiH WebKit-браузеров, таких как Safari и Chrome).


Листинг 1.2. CSS-файл для страницы HTML5

body {
   background-color:#CCCCCC;
   font-family:Geneva,Arial,Helvet ica,sans-serif;
   margin: Opx auto;
   max-width:90Opx;
   border:solid;
   border-color:#FFFFFF;
   }
   header {
   background-color: #F47D31;
   display:block;
   color:#FFFFFF;
   text-align:center;
   }
   header h2 {
   margin: Opx;
   }
   hi {
   font-size: 72px;
   margin: Opx;
   }
   h2 {
   font-size: 24px;
   margin: Opx;
   text-align:center;
   color: #F4 7D31;
   }
   h3 {
   font-size: 18px;
   margin: Opx;
   text-align:center;
   color: #F47D31;
   }
   h4 {
   color: #F47D31;
   background-color: #fff;
   -webkit-box-shadow: 2px 2px 20px #888;
   -webkit-transform: rotate(-45deg);
   -moz-box-shadow: 2px 2px 20px #888;
   -moz-transform: rotate(-45deg);
   position: absolute;
   padding: Opx 150px;
   top: 50px;
   left: -120px;
   text-align:center;
   nav {
   display:block;
   width:25%;
   float:left;
   }
   nav a:link, nav a:visited {
   display: block;
   border-bottom: 3px solid #fff;
   padding: 10px;
   text-decoration: none;
   font-weight: bold;
   margin: 5px;
   }
   nav a:hover {
   color: white;
   background-color: #F47D31;
   }
   nav h3 {
   margin: 15px;
   color: white;
 }
 #container {
   background-color: #888;
   }
   section {
   display:block;
   width:50%;
   float:left;
   }
   article {
   background-color: #eee;
   display:block;
   margin: 10px;
   padding: lOpx;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
   border-radius: lOpx;
   }
   article header {
   -webkit-border-radius: lOpx;
   -moz-border-radius: lOpx;
   border-radius: lOpx;
   padding: 5px;
   article footer {
   -webkit-border-radius: lOpx;
   -moz-border-radius: lOpx;
   border-radius: lOpx;
   padding: 5px;
   }
   article hi {
   font-size: 18px;
   }
   aside {
   display:block;
   width:25%;
   float:left;
   }
   aside h3 {
   margin: 15px;
   color: white;
   }
   aside p {
   margin: 15px;
   color: white;
   font-weight: bold;
   font-style: italic;
 }
footer {
 clear: both;
 display: block;
 background-color: #F47D31;
 color:#FFFFFF;
 text-align:center;
 padding: 15px;
 }
 footer h2 {
 font-size: 14px;
 color: white;
 }
 /* links */
 a {
 color: #F47D31;
 )
 a:hover {
 text-decoration: underline;
 }

На рис. 1.2 показан пример страницы из листинга 1.1, к которой применены стили CSS (и некоторые стили CSS3). Имейте, однако, в виду, что такого понятия, как "типичная страница HTML5", не существует. На самом деле страница может быть любой, и новые дескрипторы используются в данном примере главным образом в иллюстративных целях.

Наконец, заметим, что у вас могло сложиться ложное впечатление, будто браузеры визуализируют содержимое так, как если бы они действительно понимали семантический смысл новых элементов. Истина же состоит в том. что если бы мы назвали эти элементы как-то иначе, например f оо и bar, но применили к ним те же стили, то они были бы визуализированы точно так же (хотя, безусловно, при этом были бы потеряны все преимущества в плане оптимизации работы поисковых систем). Единственным исключением является браузер Internet Explorer, который требует, чтобы элементы были частью DOM. Поэтому, если вы хотите увидеть эти элементы в Internet Explorer, их следует программным путем вставить в DOM и отобразить в виде блочных элементов.


Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.