Добрый день,
Я только начал изучать HTML5 - нет проблем, все идет отлично.
У меня только один маленький вопрос о семантическом использовании тегов <article>
, <section>
и <div>
.
Я знаю, что элемент <div>
не имеет семантического значения - в HTML5 его следует использовать в основном для сценариев / стилей. Здесь все для меня понятно. Я нашел много полезной информации в вопросе SO: HTML5 имеет новые теги article, section и aside. Когда я должен использовать тег div? .
Однако у меня есть некоторые проблемы с использованием <article>
и <section>
. Спецификация W3C HTML5 гласит, что <article>
tag
Определяет независимый, автономный контент, может быть новостной статьей, публикацией в блоге, публикацией на форуме или другими статьями, которые могут распространяться независимо от остальной части сайта.
где следует использовать тег <section>
Для раздела в документе. Например, главы, верхние и нижние колонтитулы или любые другие разделы документа.
В теории все понятно. Тем не менее, при подготовке кода для моего первого веб-сайта HTML5 мне было трудно его отличить.
Позвольте мне объяснить структуру моего сайта:
- Фон добавляется в элемент body. Работает отлично.
- Я использую сеточную систему 960.gs в каждом своем проекте HTML / CSS. На этот раз я тоже этим пользуюсь. Как вы наверняка знаете, он требует добавления контейнера (с классом: container_12 в моем случае).
В заключение объяснения моей структуры:
- В качестве основного контейнера я использовал
<div class="container_12">
- Первый элемент в моем документе -
<header>
. Он содержит несколько элементов: слайдер и верхнюю панель. Верхний бар - <section>
. Он имеет два дочерних элемента: номер телефона слева и список языков справа. Для этих элементов я также использовал <section>
. Для ползунка (или для краткого слогана на внутренних страницах) я использовал тег <section>
, который содержит два тега <section>
: левый и правый столбец.
- В качестве основной оболочки контента для домашней страницы я решил использовать элемент
<section>
. Для внутренних страниц я использую <article>
для таких страниц, как О нас и т. Д. Для списка блогов я использую <section>
со списком <article>
тегов внутри. Для одного поста я использую элемент <article>
.
- Очевидно, что для нижнего колонтитула я использую элемент
<footer>
с тремя <section>
элементами в качестве оберток для столбцов.
Мой макет перед преобразованием в HTML5:
<div class="container_12">
<div class="grid_12 header">
<div class="bar grid_12 alpha omega">
<div class="grid_6 alpha">
Phone number
</div>
<div class="grid_6 omega">
German - English - French
</div>
</div>
<div class="grid_6 alpha">
LOGOTYPE
</div>
<div class="grid_6 omega">
<ul>
navigation
</ul>
</div>
<div class="grid_12 alpha omega">
<div class="grid_6 alpha">
Slider I col
</div>
<div class="grid_6 omega">
Slider II col
</div>
</div>
</div>
<div class="grid_12 content">
</div>
<div class="grid_12 footer">
<div class="grid_4 alpha">
Footer I col
</div>
<div class="grid_4">
Footer II col
</div>
<div class="grid_4 omega">
Footer III col
</div>
</div>
</div>
Вот мой код после преобразования его в HTML5:
<div class="container_12">
<header class="grid_12">
<section class="bar grid_12 alpha omega">
<section class="grid_6 alpha">
Phone number
</section>
<section class="grid_6 omega">
German - English - French
</section>
</section>
<section class="grid_6 alpha">
LOGOTYPE
</section>
<nav class="grid_6 omega">
<ul>
navigation
</ul>
</nav>
<section class="grid_12 alpha omega">
<section class="grid_6 alpha">
Slider I col
</section>
<section class="grid_6 omega">
Slider II col
</section>
</section>
</header>
<section class="grid_12 content">
</section>
<footer class="grid_12">
<section class="grid_4 alpha">
Footer I col
</section>
<section class="grid_4">
Footer II col
</section>
<section class="grid_4 omega">
Footer III col
</section>
</footer>
</div>
Мой подход правильный? Не могли бы вы добавить или исправить что-то?
Чтобы избежать каких-либо вопросов: я знаю, что <section>
не является заменой для <div>
.