HTML5 — Основы создания структуры документа
Статья, которая повествует об основах создания структуры документа в HTML 5.
Семантика и структура документа в HTML 5
Структура документа играет очень важную роль для понимания того, как устроена веб-страница. Она определяет то, как контенты организованы и взаимосвязаны между собой в документе, а также их относительную важность. Если воспользоваться схемой документа, то можно увидеть, как более просто стало просматривать информацию. Правильно спроектированная структура придаёт содержимому страницы смысл, делает его более лёгким для чтения, которое осуществляется поисковыми системами и другими пользовательскими агентами. На сайте, в котором правильно спроектирована структура, проще ориентироваться и находить нужную информацию.
Создание структуры документа до HTML 5
Перед изучением процесса создания структуры документа в HTML 5, желательно познакомиться с тем, как это осуществлялось в предыдущей версии языка и с какими проблемами веб-разработчику при этом приходилось сталкиваться.
Как образуется структура документа в HTML 4
Создание структуры документа в HTML 4 осуществляется с помощью 6 элементов (h2
, h3
, h4
, h5
, h5
, h6
). Эти элементы, при их размещении на странице, создают неявные разделы. Данные разделы называются неявными, потому что автор их в документе явно не создаёт. Они образуются автоматически, как только user agent встречает один из этих элементов в документе. Впоследствии из всех созданных user agent-ом разделов образуется структура документа.
Проблемы при реализации структуры документа
Модель структуры документа, использованная в HTML 4, имеет существенные ограничения, которые связаны с тем, что автору доступны для её создания всего 6 элементов h2
, h3
, h4
, h5
, h5
и h6
. С помощью этих элементов веб-разработчик не может спроектировать структуру документа, которая одновременно обеспечивала бы логическую взаимосвязь между разделами и отвечала критериям SEO.
Более подробно познакомиться с процессом создания структуры документа в HTML 4 и с проблемами при её реализации можно в следующей статье.
Создание структуры документа в HTML 5
Стратегия создания структуры документа в HTML5 значительно изменилась. Теперь она не определяется только одними заголовками, т.к. это всегда для большинства веб-разработчиков выглядело как-то нелепо. Заголовки позволяют определить структуру документа, но они не группируют контент. До HTML 5 авторы группировали контент с помощью элементов div
, а затем использовали атрибуты классов или id
атрибуты для того, чтобы присвоить этим разделам более семантически верное значение. К счастью в HTML5 появилась новая группа элементов sectioning, которые позволяют авторам создавать описание (структуру) документа. К этой группе относятся элементы article
, aside
, nav
и section
. Их основное назначение сделать код HTML более семантическим, добавить в него смысл с помощью разметки.
Элементы, предназначенные для создания структуры в HTML 5
Для создания структуры документа в HTML 5 используются заголовочные элементы (h2
, h3
, h4
, h5
, h5
и h6
) и элементы nav
, aside
, section
и article
из группы sectioning. Данные элементы в отличие от заголовков предназначены для создания явных разделов и установления этим разделам некоторого смысла.
Процесс создания структуры документа в HTML5
Для того чтобы было более просто понять основные принципы структурирования документа в HTML 5 будет считать, что элементы body
, nav
, aside
, section
и article
создают секции (явные разделы), а элементы
, h3
, h4
, h5
, h5
и h6
— обычные разделы (неявные разделы).
Процесс разработки структуры документа рассмотрим посредством пошаговых инструкций.
В HTML 5 создание структуры документа начинается с элемента body
. Данный элемент создаёт основную секцию (раздел на уровне документа).
<body> </body> --> Вышеприведённый пример будет создавть следующую структуру документа: [document] Untitled
После этого обычно переходят к созданию секций внутри
(основной секции). Например, создадим секции nav
, section
и aside
. Эти секции будут являться дочерними по отношению к body
.
<body> <nav></nav> <section></section> <aside></aside> </body> --> Вышеприведённый пример будет создавать следующую структуру документа: [document] Untitled [nav] Untitled [section] Untitled [aside] Untitled
Каждая из секций (nav
, aside
, section
, article
) в свою очередь тоже может содержать секции.
body
, имеют 2 уровень. А секции, которые расположены непосредственно в секциях 2 уровня будут уже иметь 3 уровень и т.д.Например, создадим в section
3 секции article
.
<body> <nav></nav> <section> <article></article> <article></article> <article></article> </section> <aside></aside> </body> --> Вышеприведённый пример будет создавать следующую структуру документа:[document] Untitled [nav] Untitled [section] Untitled [article] Untitled [article] Untitled [article] Untitled [aside] Untitled
Элементы h2
, h3
, h4
, h5
, h5
и h6
в HTML5 применяются для указания названия секции (т. е. выступают в качестве заголовка секции) и для создания неявных разделов внутри секции. Причём взаимосвязь между неявными разделами осуществляется только в пределах одной секции. Т.е. заголовочные элементы, находящиеся в одной секции, не связаны с заголовочными элементами, находящимися в другой секции. Другими словами неявные разделы одной секции изолированы от неявных разделах другой секции. В качестве заголовка секции выступает заголовочный элемент, находящийся в этой секции и имеющий самый высокий ранг (уровень). Если секция не содержит заголовочный элемент, то она не имеет названия (Untitled).
Внимание: В HTML 4 в отличие от HTML 5 взаимосвязь между неявными разделами осуществлялась в пределах всего документа, а не в пределах секции (body
,
, aside
, section
, article
). В HTML 4 нет элементов для создания секций.
Например, создадим названия для всех секций кроме nav
.
<body> <h2>A</h2> <nav></nav> <section> <h2>B</h2> <article> <h2>C</h2> </article> <article> <h2>D</h2> </article> <article> <h2>E</h2> </article> </section> <aside> <h2>F</h2> </aside> </body> --> Вышеприведённый пример будет создавать следующую структуру документа:[document] A [nav] Untitled [section] B [article] C [article] D [article] E [aside] F
Например, создадим неявные разделы в секции section
и aside
:
<body> <h2>A</h2> <nav></nav> <section> <h2>B</h2> <article> <h2>C</h2> </article> <article> <h2>D</h2> </article> <article> <h2>E</h2> </article> <h3>B-R1</h3> <h4>B-R2</h4> <h3>B-R3</h3> </section> <aside> <h2>F</h2> <h3>F-R1</h3> <h4>F-R2</h4> <h5>F-R3</h5> <h4>F-R4</h4> <h4>F-R5</h4> </aside> </body> --> Вышеприведённый пример будет создавать следующую структуру документа:[document] A [nav] Untitled [section] B [article] C [article] D [article] E [h3] B-R1 [h4] B-R2 [h3] B-R3 [aside] F [h3] F-R1 [h4] F-R2 [h5] F-R3 [h4] F-R4 [h4] F-R5
2.
html5 структура документа — Русские БлогиПеред HTML4.01, Div + CSS обычно используется для разметки страниц.
HTML5 использует заголовок, колонтитул, навигация, содержание статьи и т.д.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Структура документов HTML</title> </head> <body> <header> <nav>...</nav> </header> <article> <section>...</section> </article> <aside>...</aside> <footer>...</footer> </body> </html>
1. 1.er тег
Тег заголовка определяет заголовок документа и области, как правило, какой-то загрузка и навигационной информации.
как правило
Этикетка содержит, по меньшей мере, (но не ограничиваясь этим) титульный знак (Н1 ~ H6), или может включать в себя HGroup (название комбинации) тег, таблица знак, форму поиска, навигации и тому подобное.2.NAV тег
СЧА тег представляет собой часть страницы, которая является группой ссылок, которые могут быть использованы в качестве страницы навигации.
Не используйте элементы NAV в элементе нижнего колонтитула, в противном случае легко вызвать отображение страницы неправильно
3.Article тег
Статья тег представляет собой специальный раздел тег, который является более ясным, чем раздел, который представляет собой отдельный блок, содержание полностью связанный, может использоваться независимо от остального содержимого страницы.
4.SECTION тег
Раздел тег определяет раздел в документе. Например, другие части раздела, заголовок, колонтитул, или документ.
Обычно используется для содержания секции, начиная новый раздел в потоке документа.
Он используется для выражения обычного содержания документа или приложений блоков, обычно состоящим из контента и его названия.
5.Aside тег
Помимо (боковая панель, также известная как примечание стороны) тег используются для иллюстрации содержания содержания и основного содержания страницы, но не является частью страницы, аналогично использование скобок на комментарий.
Footer тег определяет футовый забор для участка, содержит информацию, относящуюся к странице, статьи, или какой-то контент, например, авторов или даты статей.
HGroup тег
HGroup тег сочетание заголовок в сочетании с заголовком элементов (h2 к h6) веб-страницы или сечения.
<hgroup> <h2>JSDOC + Спецификация</h2> <h3>представлять</h3> </hgroup>
Рисунок теги и первый тег
Рисунок Рисунок Тег используется для объединения элементов, а общий язык изображение комбинируется с описанием изображения.
Figcaption (Tweet) Пометка названия (CAPTION) для определения фигуры элемента, можно определить заголовок набор тегов изображений
Элемент Figcaption должен быть помещен в позицию первого или последнего дочернего элемента фигурного элемента.
Отметить тег метки времени
Маркер MarkТег используется для определения текста с отметкой. Вы можете использовать тег Марка, когда вам нужно, чтобы выделить текст. (Выделите ключевое слово, пожелтение тон)
время времяВремени (24-часовая система) или дата, время и часовой пояс не является обязательным. Дата и время могут быть закодированы в машиночитаемом образом. (Этот тег не будет представлять никаких специальных эффектов в любом браузере)
Основной синтаксис:
<mark>Ключевой содержание этикеток</mark> <time>9:00</time> <! - время определения -> <time datetime="2017-05-01" pubdate="pubdate">Международный день труда</time> <! - Дата определения ->
Описание недвижимости:
Метка времени PubDate Свойства: Указывает дату / дата в этом теге дата выпуска документа (или самой последней статьи тега).
Время свойство тега DateTime: указанная дата / время. В противном случае, дата / время определяется содержанием.
Детали тег сводного тег
подробности подробностиТег представляет собой тип выключателя, интерактивное управление, используется для определения видимого пользователя или скрытых деталей требуют дополнений, и любая форма содержания может быть размещена в этом теге.
Содержание Подробности тега является невидимым для пользователя, если ОТКРЫТЬ атрибут не установлен.
РезюмеТег является первым дочерним элементом элемента детали, название определения Подробности
Титульный показывает, что, когда пользователь нажимает на заголовок будет отображаться детали (только Chrome, Safari6 поддерживает Резюме тега)
Тег Прогресс метр тег
Прогресс ПрогрессИспользуется для определения прогресса задачи в перспективе (процесс).
Два свойства:
- MAX представляет собой значение, необходимое для завершения;
- Значение указывает текущее значение процесса
Метрика метрОпределить скалярные измерения в пределах известных диапазонов или значений количественных показателей, также известные как Gauge.
СЧЕТЧИК свойства тега:
Атрибуты | ценить | иллюстрировать |
---|---|---|
form | form_id | Укажите форму, в которой элемент метра принадлежит |
high | number | Спецификации определено как диапазон высоких значений |
low | number | Спецификация определяется как диапазон с низким значением |
max | number | Максимальное значение |
min | number | Минимум указанного объема |
optimum | number | Наилучшее значение указанного объема |
value | number | Отказ Текущее значение указанного показателя |
ВХОД тег DataList тег
ВХОД тегИспользуются для сбора информации о пользователях.
Список свойство ввода тега связанно с атрибутом ID знака DataList (то же значение), и все юридические входные значения перечислены маркой DataList.
Список Вариант DataListМетки используются для определения списка параметров для входного тега. (Как правило, с INPUT)
В дополнении к IE9 и более ранним версиям IE IE и Safari не поддерживают тег DataList, остальные поддерживаются.
Есть также некоторые элементы страницы, такие как меню, Ruby, RT, RP, выход, и т.д., см W3C
Секреты использования семантической верстки в HTML5 | by Stas Bagretsov
В этой статье вы узнаете как пользоваться семантической разметкой в HTML5 и как это делать правильно.
Что такое семантический HTML5?
Если вы более менее знакомы с HTML, то вы должны знать про HTML теги, которые в большинстве своём используются для форматирования контента — они говорят браузеру как показывать контент на странице. Они не дают определение типу содержащегося контента или какую роль играет контент на странице.
Перевод статьи How to Use Semantic HTML5 for Document Structure — a guide.
👉Мой Твиттер — там много из мира фронтенда, да и вообще поговорим🖖. Подписывайтесь, будет интересно: ) ✈️
Семантический HTML5 устраняет этот недостаток, определяя точные теги для пояснения четкой роли контента на странице. Эта дополнительная информация помогает роботам/индексаторам, таким как Google и Bing лучше понять какой контент важен, какой является второстепенным, какой используется для навигации и так далее. Добавляя семантические HTML теги на ваши страницы, вы даете дополнительную информацию, которая помогает поисковикам понимать роли и относительную важность разных частей ваших страниц.
Это примеры не семантических HTML элементов. Они служат как хранители для передачи браузеру того, как контент должен отображаться. Они не дают информации о роли содержимого контента на странице.
А это семантические элементы. Они ясно определяют роль содержимого контента.
Почему надо это использовать?
Для внимательного пользователя обычно легко определить различные части веб-страницы с первого взгляда. Заголовки, меню и основной контент — все мгновенно, визуально очевидно. А теперь представьте, что вы слепы.
Google и Bing боты, если и не слепы, то имеют серьёзное ослабление со зрением. Для них визуальные пояснения феноменально сложно увидеть и понять.
Им нужна ваша помощь. Если вы можете успешно передавать поисковикам, какая часть страницы является хедером, какая подвалом и какая навигацией, то они поблагодарят вас. Самое важное, говорить им какая часть контента самая важная, делая это вы даете им расширенные инструкции по приоритезации вашего же контента.
Most important content — самый важный контентСамо по себе, использование HTML5 не произведет революции в работе вашего SEO. Как вы знаете, успешное SEO это совокупность многих и многих мелких деталей. И это одна из таких малых деталей, которая улучшит понимание контента вашего сайта со стороны любого поисковика, что заметно внесет вклад в ваши SEO усилия.
Смотря наперед, учитывая как будет развиваться поисковая оптимизация в предстоящие года, расширенный и связная коммуникация с этими системами будет одним из двух краеугольных камней вашей SEO/AEO стратегии.
Как всё это выглядит?Примеры семантических HTML тегов включают в себя <nav>
, <footer>
и <section>
. Так же есть гораздо больше примеров семантических HTML5 тегов, которые могут быть использованы, для примера <blockquote>
и <em>
, но в этой статье мы разберем только те семантические HTML теги, которые вам понадобятся для простого разделения контента страницы на разные части.
Следующие HTML5 теги могут использоваться вместо <div>
тегов, чтобы разделить контент вашей страницы на определяемые части, каждая из которых будет выполнять конкретную роль. Как вы уже поняли, такие системы как Google и Bing любят это.
Ясная установка границ и подробная расстановка атрибутов ролей для каждой части контента, делает страницу горазду понятнее и легче для правильно индексации для Google и Bing.
Обратите внимание, что эти теги ведут себя как <div>
теги, что говорит о том, что они могут заменить существующие <div>
без влияния на общий макет. В большинстве случаев применение семантического HTML5 может быть легко применено нахождением подходящей пары <div>
и </div>
и её заменой.
Супер простой семантический HTML5 пример:
Тут мы довольно просто определяем, какую роль играет каждая часть страницы. Когда вы начинаете разметку HTML5, то вот как безопаснее всего это начать — header, nav, main, footer.
Лучше иметь супер простое исполнение, которое на 100% верное, чем сложное, но неверное.
При неверном исполнении, вы посылаете противоречащие и сбивающие с толку сигналы, которые сделают только хуже, а не лучше.
Правильное и простое выполнение это уже большой шаг вперед в ваших коммуникациях с поисковиками. Не будьте чрезмерно амбициозными. Сделаете неправильно и вы можете получить больше проблем, чем решите.
Более сложные примерыИспользование секций и <article>:
Тут мы сделали иерархическую систему в нашем главном контенте. Тут есть охватывающая всё <article>
, которая определяет центральный контент внутри тега <main>
. Это даёт краткий обзор темы этой части страницы. В этой <article>
мы имеем несколько под-тем, которые формируют основную тему, которая определяет вложенными секциями.
Примите к сведению, что дизайн (оранжевые блоки) не используется для определения семантических зон страницы. Выглядит немного сбивающим с толку, но показывает довольно четко, что шаблон HTML и семантический HTML имеют разные роли.
В реальном же мире, семантическая разметка часто следует за основной разметкой более явно, чем в этом примере. Запомните главное правило: Секция формирует часть чего-то ещё, а <article> это что-то, что само по себе. Так же примите во внимание, что тут мы добавили секцию навигации в подвал. Логически, как и в шапке, подвал содержит элементы навигации.
Связанный Aside
Тут мы добавили две части связанного контента к главной <article> контента. Используя aside, мы определяем то, что связанный контента (aside) опционален. То есть основная секция контента может быть показана без aside и все равно будет понятна.
Косвенно связанный aside
Обратите внимание, что aside не обязательно быть сайдбаром рядом с основным контентом. Он также может быть применен для блоков под основным контентом, включая в себя заголовок, текст и ссылку на другую страницу.
Тут мы определили несколько косвенно связанного контента на странице, за пределами основного <article>
для контента. Тут мы определяем, что контент сбоку не напрямую связан с главной <article>
. И этого вполне достаточно в большинстве случаев.
<section> vs. <article>
Это очень обсуждаемая тема. И нет четких правил о <sections>
и <articles>
, а их применение довольно гибкое само по себе. Они более менее похожи и могут быть использованы взаимозаменяемым способом в большинстве случаев. Только будьте уверены в том, что их использование логично и последовательно.
Личный совет. Я заметил, что вложенные секции внутри <article>
контента, логичнее как для поисковика, так и для человека. Так HTML код легче читать для разработчика.
Вложенные элементы
Элементы могут вкладывать в себя другие элементы. Для примера, <article>
может иметь свой собственный <header>
, <footer>
, <h3>
и даже <nav>
(анкоры как хороший пример). Я не дал иллюстрацию для этого «супер вложения» и этому есть своя причина. С точки зрения SEO нет реальной пользы уходить так глубоко в семантический HTML5.
Как упоминалось выше, для SEO целей, вам нужно сконцентрироваться на создании четкого и простой структуры.
Чего НЕ ДЕЛАТЬПросто предупреждаю. Я видел много сайтов, использующих визуальный дизайн как руководство для применения HTML5. Как показано ниже, это не то для чего разработан семантический HTML5.
Этот необычайно простой пример просто дублирует визуализацию шаблона. Более чем бессмысленно, он определяет то, что страница состоит из 4 разных тем, вместо одной главной темы и 3-х подтем. Явно давая вводящую в заблуждение информацию для поисковиков, такая схема будет иметь негативное влияния для своего понимания в целом.
Следующие шаги?Применение семантического HTML5 на ваших страницах значительно улучшит передачу информации для поисковиков. Так как они хотят то, о чем вообще ваш сайт. Они хотят чтобы вы ясно говорили им на понятном им языке и они хотят, чтобы вы обучали их. По-этому делайте это.
Общение
Общение с поисковиками (HTML5 имеет важную роль) это одна из двух колон долгосрочной SEO стратегии, которая приведет к успеху в мире где нам нужно будет оптимизироваться для поисковых систем. Есть много отличных вещей, которые вы можете сделать для улучшения подобного общения. И семантический HTML5 тому пример. Schema разметка это ещё один пример.
Надежность
Вторая колонна это надежность. Есть также клевые вещи, делая которые вы усилите доверие к себе. Все SEO и AEO сходятся к общению и надежности.
В завершение: памятка для хорошей HTML5 SEO разметкиСтруктура, важность, роли и иерархичность это вещи, которые люди часто понимают инстинктивно в дизайне шаблона. Правильное использование семантического HTML5 вместо <div>
сделает понимание этого таким же простым и для поисковиков.
Что такое семантическая вёрстка и зачем она нужна — Блог HTML Academy
Давным-давно (лет пятнадцать назад) почти все делали сайты и не переживали о том, что под капотом. Верстали таблицами, использовали всё, что попадётся под руку (а попадались в основном div и span) и не особо заморачивались о доступности. А потом случился HTML5 и понеслось.
Семантическая вёрстка — подход к разметке, который опирается не на содержание сайта, а на смысловое предназначение каждого блока и логическую структуру документа. Даже в этой статье есть заголовки разных уровней — это помогает читателю выстроить в голове структуру документа. Так и на странице сайта — только читатели будут немного другими.
Почему семантика важна
Чтобы сделать сайт доступным. Зрячие пользователи могут без проблем с первого взгляда понять, где какая часть страницы находится — где заголовок, списки или изображения. Для незрячих или частично незрячих всё сложнее. Основной инструмент для просмотра сайтов не браузер, который отрисовывает страницу, а скринридер, который читает текст со страницы вслух.
Этот инструмент «зачитывает» содержимое страницы, и семантическая структура помогает ему лучше определять, какой сейчас блок, а пользователю понимать, о чём идёт речь. Таким образом семантическая разметка помогает большему количеству пользователей работать с вашим сайтом. Например, наличие заголовков помогает незрячим в навигации по странице. У скринридеров есть функция навигации по заголовкам, что ускоряет знакомство с информацией на сайте.
Чтобы сайт был выше в поисковиках. Поисковики не разглашают правила ранжирования, но известно, что наличие семантической разметки страниц помогает поисковым ботам лучше понимать, что находится на странице, и в зависимости от этого ранжировать сайты в поисковой выдаче.
Классический пример — расписание поезда «Сапсан» в выдаче Google.
Разработчики tutu.ru сверстали таблицу тегом table вместо div и их сниппет оказался в выдаче Google по важному коммерческому запросу.
Семантика прописана в стандартах. Многие разработчики по старинке пользуются конструкциями типа <div> для обозначения навигации или других структурных элементов страницы. Тем временем в стандарте HTML есть несколько семантических тегов, которые рекомендуется использовать для разметки страниц вместо <div>
и span
. В спецификации для каждого семантического элемента описана его роль.
Ну и представьте, насколько проще читать <nav></nav>
вместо <div></div>
. Или вот такой код. Смотрите и сразу понятно, что тут и зачем.
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Заголовок страницы</title> </head> <body> <header> <!— Шапка сайта —> </header> <main> <!— Основное содержимое страницы —> </main> <footer> <!— Подвал сайта —> </footer> </body> </html>
Основные семантические теги HTML
Среди «старых» тегов из ранних версий HTML тоже есть семантические — например, тег <p>
, который обозначает параграф. При этом теги <i>
или <b>
не семантические, потому что они не добавляют смысла выделенному тексту, а просто определяют его внешний вид.
Но в актуальной версии стандарта HTML Living Standard есть семантические теги почти для всех основных частей сайта, и лучше пользоваться ими. Вот несколько примеров семантических тегов.
<article>
- Значение: независимая, отделяемая смысловая единица, например комментарий, твит, статья, виджет ВК и так далее.
- Особенности: желателен заголовок внутри.
- Типовые ошибки: путают с тегами
<section>
и<div>
.
<section>
- Значение: смысловой раздел документа. Неотделяемый, в отличие от <article>.
- Особенности: желателен заголовок внутри.
- Типовые ошибки: путают с тегами
<article>
и<div>
.
<aside>
- Значение: побочный, косвенный для страницы контент.
- Особенности: может иметь свой заголовок. Может встречаться несколько раз на странице.
- Типовые ошибки: считать
<aside>
тегом для «боковой панели» и размечать этим тегом основной контент, который связан с окружающими его элементами.
<nav>
- Значение: навигационный раздел со ссылками на другие страницы или другие части страниц.
- Особенности: используется для основной навигации, а не для всех групп ссылок. Основной является навигация или нет — на усмотрение верстальщика. Например, меню в подвале сайта можно не оборачивать в
<nav>
. В подвале обычно появляется краткий список ссылок (например, ссылка на главную, копирайт и условия) — это не является основной навигацией, семантически для такой информации предназначен<footer>
сам по себе. - Типовые ошибки: многие считают, что в
<nav>
может быть только список навигационных ссылок, но согласно спецификации там может быть навигация в любой форме.
<header>
- Значение: вводная часть смыслового раздела или всего сайта, обычно содержит подсказки и навигацию. Чаще всего повторяется на всех страницах сайта.
- Особенности: этих элементов может быть несколько на странице.
- Типовые ошибки: использовать только как шапку сайта.
<main>
- Значение: основное, не повторяющееся на других страницах, содержание страницы.
- Особенности: должен быть один на странице, исходя из определения.
- Типовые ошибки: включать в этот тег то, что повторяется на других страницах (навигацию, копирайты и так далее).
<footer>
- Значение: заключительная часть смыслового раздела или всего сайта, обычно содержит информацию об авторах, список литературы, копирайт и так далее. Чаще всего повторяется на всех страницах сайта.
- Особенности: этих элементов может быть несколько на странице. Тег
<footer>
не обязан находиться в конце раздела. - Типовые ошибки: использовать только как подвал сайта.
Как разметить страницу с точки зрения семантики
Процесс разметки можно разделить на несколько шагов с разной степенью детализации.
- Крупные смысловые блоки на каждой странице сайта. Теги:
<header>, <main>, <footer>
. - Крупные смысловые разделы в блоках. Теги:
<nav>, <section>, <article>, <aside>
. - Заголовок всего документа и заголовки смысловых разделов. Теги:
<h2>-<h6>
. - Мелкие элементы в смысловых разделах. Списки, таблицы, демо-материалы, параграфы и переносы, формы, цитаты, контактная информация и прогресс.
- Фразовые элементы. Изображения, ссылки, кнопки, видео, время и мелкие текстовые элементы.
Более подробно методика создания семантической разметки описана в навыке «Создание семантической разметки по макету» и профессиональных курсах HTML Academy.
Создание семантической разметки по макету
Навык, без которого фронтенд-разработчикам ну просто никуда.
Изучить
Сомневаюсь, какие теги использовать
Есть простые правила для выбора нужных тегов.
- Получилось найти самый подходящий смысловой тег — использовать его.
- Для потоковых контейнеров —
<div>
. - Для мелких фразовых элементов (слово или фраза) —
<span>
.
Правило для определения <article>, <section>
и <div>
:
- Можете дать имя разделу и вынести этот раздел на другой сайт? —
<article>
- Можете дать имя разделу, но вынести на другой сайт не можете? —
<section>
- Не можете дать имя? Получается что-то наподобие «новости и фотогалерея» или «правая колонка»? —
<div>
Как точно не нужно делать
Не используйте семантические теги для красоты. Для этого есть CSS.
Может показаться, что некоторые теги подходят для того, чтобы сделать страницу покрасивее, подвигать текст или добавить ему интервалов. Но то, что браузер по умолчанию отображает теги как-то, как вам нужно, не значит, что это нужно использовать. Посмотрим на пример.
Здесь сразу несколько ошибок:
- Тег
<blockquote>
должен использоваться для выделения в тексте цитат, а не просто случайного выделения текста. Так совпало, что в браузерах этот блок по умолчанию выделен, но это не значит, что нужно его использовать таким образом. - Тег
<ul>
тоже использован для визуального «сдвига» текста. Это неверно, потому что этот тег должен быть использован только для обозначения списков, а во-вторых, в тег<ul>
можно вкладывать только теги<li>
и ничего больше. - Тег
<p>
использован, чтобы визуально раздвинуть текст. На самом деле этот тег используется для выделения параграфов.
А любое выделение, сдвиг или иные превращения текста можно выполнить с помощью CSS.
Поэтому используйте семантические теги по назначению.
Построение структуры документа в HTML5 используя section
Вы здесь
Главная → Блог → HTML → Построение структуры документа в HTML5 используя section
Дата:31. 03.15 в 9:45
Раздел:
В первую очередь следует рассмотреть строение структуры документа HTML. Имеется ввиду именно семантическая структура, которую в некоторых отдельных случаях неопытный пользователь путает с деревом документа (DOM).
Построение структуры документа в среде HTML4
При создании документа в среде HTML4 логическая структуризация базировалась на использовании тегов заголовков – h2, h3,..,h6. Для наглядности стоит рассмотреть следующий пример:
<div> <h2>Важный заголовок</h2> <p>Какое-либо содержимое страницы</p> <div> <h3>Подзаголовок</h3> <p>Какое-либо содержимое страницы</p> </div> </div>
В результате изучения данного примера вырисовывается следующая структура:
1. Важный заголовок 1.1. Подзаголовок
В вышеуказанном примере присутствуют теги div, которыми можно пренебречь в силу того, что на семантическое строение документа они не оказывают никакого влияния и используются только для выстраивания визуального оформления через CSS в будущем. С точки зрения семантики нас интересуют исключительно заголовки.
Таким образом, код, на который обращает внимание поисковый робот, выглядит примерно следующим образом:
<h2>Важный заголовок</h2> <p>Какое-либо содержимое страницы</p> <h3>Подзаголовок</h3> <p>Какое-либо содержимое страницы</p>
Подводя итог вышесказанному, стоит отметить, что в HTML4 грамотная постановка структуры документа основывалась на рациональной расстановке заголовков внутри документа.
Недостатки семантики HTML4
В пятой версии HTML все вышеперечисленные недостатки учтены. Их можно избежать при использовании новых структурных тегов. Использование этих тегов упрощает процедуру обработки кода для поисковиков.
Выстраиваем структуру документа по стандартам HTML5
Секции
В первую очередь для пояснения понятия секций необходимо перечислить неотъемлемые составляющие, с помощью которых они формируются: <header>, <body>, <section>, <article>, <aside>, <nav> и <footer>
. Корневая секция представляется тегом <body>
. В качестве примера следует изучить следующий код:
<section> <h2>Важный заголовок</h2> <section> <h3>Подзаголовок 1</h3> <p>Какое-либо содержимое страницы</p> </section> <section> <h3> Подзаголовок 2</h3> <p>Какое-либо содержимое страницы</p> </section> <aside> <p>Информация сайдбара</p> </aside> </section> <footer> <section> <p>Копирайты</p> </section> </footer>
Для простоты понимания уберем сложный для восприятия код и представим структуру документа в следующем виде:
Вышеуказанная секционное строение носит явный характер. На практике также встречается и не явное секционирование, которое осуществляется посредством заглавных тегов <h2>-<h6>
.
Примеры на практике
Ниже представлен скриншот сайта с указанием основных его структурных частей:
В виде языка HTML сематническая структура данного сайта будет выглядеть следующим образом:
<header> <h2>Vaden pro</h2> [форма поиска] <nav> <ul> [содержимое меню] </ul> </nav> <p>слоган</p> </header> <section> [описание страницы блога] </section> <div> <section> <article> [вывод превью статьи] </article> <article> [вывод превью статьи] </article> </section> <acide> [сайдбар] </acide> </div>
Стоит обратить внимание на тот факт, что в данном случае тег <div>
применяется в целях оформление и не несет в себе семантической нагрузки.
Значимость тега div в HTML5
В новом HTML5 тег <div>
теряет свою значимость в сравнении с предыдущей четвертой версией. Теперь div отвечает исключительно за оформление, как некоторых отдельных секций, так и всего документа в целом. Семантического значения у этого тега нет, следственно располагаться этот тег может где угодно, тем самым не оказывая влияния на семантику страницы сайта.
Итог
В первую очередь стоит отметить полезность новых тегов для разметки документа, которые упрощают задачу формирования иерархии внутри документа и способствуют облегчению читабельности кода для поискового робота.
Также стоит отметить новую возможность широкой вариации верстки одного и того же кода. В зависимости от стилевого оформления и желаний верстальщика, один и тот же сайт может быть написан разными способами с использованием разной структуры документа.
Оценок: 5 (средняя 4 из 5)
Оценка:
Ключевые слова:
Cтруктура html
Понравилась статья? Расскажите о ней друзьям:
Еще интересное
Стандартная структура шаблона сайта.
Пример построения документа на HTML5. Стартовая страницаЛюбой сайт начинается с создания или редактирования главной страницы. Она задаёт общую архитектуру будущему проекту.
Структура сайта определяется главной страницей, все дополнительно созданные варианты имеют аналогичное построение за исключением содержимого (контента) «Тела страницы».
Рассмотрим простую схему построения любого среднестатистического сайта
Все шаблоны состоят из
файлов.html
(страниц) и папок (директорий).
Главная страница
index.html
открывается по умолчанию при вызове сайта по адресу домена: http://вашДомен.ru/
Файлы стилей дизайна лежат в папке (директории) css/ (ниже приведены примеры часто используемых файлов).
Файлы сценариев находятся в папке js/ (ниже включены примеры часто применяемых скриптов).
Файлы изображений обычно помещают в директорию img/ (ниже указаны разные форматы картинок).
Пример структуры шаблона
Иерархия стандартного шаблона сайта
Жирным шрифтом обозначены — папки;
Синим цветом
выделены файлы;
Красным цветом
отмечены основные стандартные файлы.
Шаблон(домен)/
index.html — главная страница
page1.html — дополнительная страница
page2.html — дополнительная страница
page3.html — дополнительная страница
contact.html — страница контактов
└── папка css/
––– style.css
––– bootstrap.css
––– font-awesome.css
––– jquery.3.4.1.min.js
––– и т.д.
└── папка js/
––– js.js
––– jquery.min.js
––– responsive.js
––– и т. д.
└── папка img/
––– image1.jpg
––– image2.png
––– image3.gif
––– image4.jpg
––– и т.д.
Пример стандартной стартовой страницы построенной на HTML5 с комментариями
Скачать пример страницы вы можете ниже. В коде страницы присутствуют комментарии, поэтому остановлюсь лишь на некоторых пунктах:
— Атрибут lang=»en» можно заменить для русскоязычных сайтов на lang=»ru», хотя его присутствие является не обязательным.
— Как вы заметили, отсутствует атрибут Метатег Keywords — теперь поисковые системы обходятся без него и не нуждаются в нашем представлении для них ключевых слов.
— Мегатег Description остался в HTML5. Мы имеем возможность предложить поисковикам свою версию описания документа, но он в праве выбирать сам, какой фрагмент текста использовать для показа пользователям.
В структуре страницы желательно использовать семантические элементы HTML5 определяющие тематику блоков, например:
<header> — элементы навигации и заголовков;
<nav> — подразумевает навигацию;
<section> — группирует тематическое содержимое;
<article> — дочерний элемент <section>;
Это не обязательное требование, можно просто воспользоваться обычными элементами DIV, если вы в будущем не собираетесь структурировать страницу под семантическую разметку Schema.
Пример кода стартовой страницы HTML5
<!doctype html> <!-- Допускается любой регистр --> <html lang="en"> <!-- Для русскоязычных сайтов lang="ru" --> <head> <meta charset="utf-8"> <!-- Объявляет кодировку страницы --> <title>Стартовый шаблон HTML5</title> <!-- Название страницы --> <meta name="description" content="Документ построен на HTML5"> <!-- Описание страницы --> <meta name="author" content="SiteY"> <link rel="stylesheet" href="css/styles.css"> <!-- Путь к пользовательской папке с файлом --> <link rel="stylesheet" href="https://...../bootstrap.min.css"><!-- Абсолютный путь к внешнему файлу --> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><!-- Для капризов IE 9 --> <![endif]--> </head> <body> <!-- Шапка - заголовок страницы --> <header> <!-- Навигация --> <nav> <div> Меню сайта </div> </nav> <!-- Слайдер--> <div> Слайдер </div> </header> <!-- Конец Шапка --> <!-- Тело страницы --> <main> <section> <section> <article> Часть секции 1 </article> </section> <section> <article> Часть секции 2 </article> </section> </section> </main> <!-- Конец тела страницы --> <div> Дополнительная колонка SideBar </div> <!-- Footer --> <footer> <div> <p> Copyright © 2019</p> </div> </footer> <script src="js/js. js"></script> <!-- Путь к папке со скриптом --> <script> Вставка для скрипта </script> </body> </html>
Скачать пример стартовой страницы на HTML5: Standard-HTML5.rar [1,08 Kb] (cкачиваний: 202)
Структурные элементы HTML5
Структурные элементы HTML5Вернуться на страницу недели 3 »
Существует группа HTML-элементов, созданных для придания нашим документам большей структуры.
Вы уже использовали первый элемент раздела: body
.
Кузов
Элемент body
содержит все содержимое нашего документа.
Обычно включает в себя все, кроме мета-элемента
и его подэлементов.
Основной
Большинство веб-страниц содержат много информации, которая повторяется по всему сайту. Это включает в себя брендинг, навигацию, рекламу и информацию об авторских правах.
Основной элемент
используется для обозначения уникального содержимого каждой страницы.
В приведенном ниже примере рецепт чили является уникальным содержимым. Основной элемент
обернут вокруг частей рецепта:
<голова> <мета-кодировка="UTF-8">Рецепт чили голова> <тело>Книга рецептов
<навигация> <ул>
<основной>
Рецепт чили
Инструкции...
тело>
Разделение контента HTML5
Некоторые из этих структурных элементов попадают в категорию «содержимое секций».
Статья и раздел
Элементы статьи
и раздела
используются одинаково для представления тематических частей документа. Основное различие между ними заключается в том, что статьи предназначены для инкапсуляции контента, который является автономным.
Выбирая между статьей или разделом, подумайте, будет ли содержимое по-прежнему иметь смысл, если его убрать с текущей страницы. На это указывает и статья
.
Секция
, с другой стороны, является лишь частью большего целого и не существует сама по себе.
Рассмотрим следующий пример простого рецепта:
Сэндвичи с паштетом и джемом
Вот как приготовить эту закуску.
Ингредиенты
<ул>
Инструкции
<ол> Рецепт в целом может стоять сам по себе. Это указывает на то, что он должен быть помечен как статья
.
Два подраздела рецепта не стоят сами по себе, и поэтому каждый из них должен быть разделом
.
Разметка рецепта статьями и разделами будет выглядеть так:
<артикул>Сэндвичи с паштетом
Вот как приготовить эту закуску.
<раздел>Ингредиенты
<ул>
Инструкции
<ол>Примечание: Элементы article и section также могут содержать элементы article и section.
В сторону
Элемент aside
представляет содержимое, косвенно связанное с родительским элементом.
Этот элемент назван в честь боковой панели. Однако не считайте это только боковой панелью, так как это означает, что контент будет отображаться сбоку. Aside может отображаться в различных контекстах и визуальных обработках.
Вот некоторые примеры действительных отступлений:
- котировки
- справочная информация
- дополнительные ссылки
- выноски
Навигация
Элемент nav
используется для обозначения областей страницы, используемых для основной навигации.
На странице может быть несколько элементов навигации. Однако этот элемент следует зарезервировать для основных областей навигации, а не просто для списков ссылок.
<навигация> <ул>
Верхний и нижний колонтитулы
Элементы верхнего и нижнего колонтитула используются в контексте содержащего их элемента.
Наиболее распространенная форма — это когда содержащий элемент является элементом body.
Когда содержащим элементом является
body
В этом случае заголовок обычно используется для обозначения фирменного стиля сайта и основных элементов навигации.
Нижний колонтитул будет использоваться для разметки содержимого в конце страницы: информации об авторских правах, навигационных ссылок или другого содержимого.
<заголовок><навигация> <ул>
Рецепты Советы О нас заголовок>
<основной> <статья>
Рецепт чили
Чили. ...
статья> главная><нижний колонтитул>
Все рецепты © я <ул>
Карта сайта Юридическая информация нижний колонтитул>
Когда содержащим элементом является статья
или раздел
В этом случае заголовок будет размечать вводные элементы раздела или статьи. Нижний колонтитул будет отмечать закрывающие элементы<статья><заголовок>
Сэндвичи с паштетом
Предоставлено Дейном
заголовок>
Вот как приготовить эту закуску.
<раздел>Ингредиенты
<ул>Арахисовое масло Желе Хлеб раздел> <раздел>Инструкции
<ол>Возьмите два ломтика хлеба. Нанесите арахисовое масло на одну сторону обоих ломтиков. Намазать желе кусочком арахиса на один ломтик хлеба. Сожмите ломтики хлеба вместе. раздел><нижний колонтитул>
Больше отличных рецептов от Дейна можно найти здесь
нижний колонтитул>
статья>
Вернуться на страницу недели 3 »
Введение в структурные элементы HTML5
Сью Смит
HTML5 привносит повышенный уровень смысла в разметку веб-страницы, но вам не нужно обращаться к словарю, чтобы воспользоваться этим преимуществом!
Когда вы узнаете о HTML5 и немного другом подходе к веб-разработке, который он предлагает, логично начать с новых структурных элементов. Хотя набор функций HTML5 в целом может показаться немного пугающим, эти новые элементы на самом деле не так уж сложны для понимания. В этой статье мы рассмотрим концептуальные и практические основы заголовка
, нижнего колонтитула
, раздела
, статьи
, навигации
и в стороне
элементов. Говорят, что HTML5 имеет больше смысла, чем предыдущие версии языка разметки, поэтому по ходу дела мы коснемся семантических аспектов этих новых элементов.
Создать страницу HTML5
Давайте изучим новые элементы, создав образец страницы. Посмотрите демо-страницу, чтобы увидеть, над чем мы работаем — на нее добавлены некоторые дополнительные примечания, чтобы сделать структуру страницы немного понятнее, и вы можете просмотреть и поэкспериментировать с исходным кодом страницы здесь. Вы можете оставить демонстрацию открытой, чтобы следовать руководству.
Начните с создания нового документа HTML5 следующим образом:
<голова>Демонстрация HTML5 <тип стиля="текст/CSS"> стиль> голова> <тело> тело>
Обратите внимание, что первая строка, тип документа HTML5, обязательна при использовании новых элементов HTML5. (Не знакомы с doctypes? Вы можете узнать больше в этой статье.)
Мы не будем тратить много времени на стилизацию в этой статье, но важно добавить следующие два объявления в CSS раздел на странице
head
:
header,footer,section,article,nav,aside{дисплей:блок}заголовок,нижний колонтитул,раздел,статья,навигация,в стороне{граница:1px сплошная #000;отступ:5px;поле:10 пикселей}
Первое объявление (выделено) всегда должно присутствовать в вашей таблице стилей при использовании элементов HTML5. Добавив display:block;
мы гарантируем,что новые элементы будут отображаться как элементы блочного уровня в старых версиях Internet Explorer,которые не имеют встроенной совместимости с HTML5. (Подробнее об обеспечении совместимости с IE в конце руководства.)
Второй набор стилей добавит границы элементов,чтобы вы могли четко видеть,где располагаются ваши новые элементы по мере их добавления.
Элемент заголовка
Семантика HTML5 вступает в игру со всеми новыми элементами. Как вы увидите в этом руководстве,имена структурных тегов HTML5 указывают на что-то значимое в отношении содержимого или роли элементов,которые они определяют. Элемент заголовка — идеальный пример. Как вы уже догадались,он предназначен для области заголовка страницы или раздела страницы.
заголовок
часто содержит один или несколько тегов заголовков от h2
до h6
. Однако заголовок может содержать и другие элементы. Добавьте следующее в раздел body
вашей страницы:
Последние новости
Будьте в курсе всех последних новостей.заголовок>
Представьте,что образец страницы,который мы создаем,предназначен для новостного веб-сайта. Мы будем использовать только один элемент заголовка на нашей странице,но при желании вы можете использовать больше в разделах страницы.
До HTML5 Это потрясающе? Не совсем. Это просто более чистый и логичный способ сделать то,что мы делали раньше,нестандартным способом. Однако это имеет полезные побочные эффекты,такие как упрощение навигации для групп населения с проблемами доступности. Давайте перейдем непосредственно к элементу нижнего колонтитула Этот сайт создан компанией Great Sites Inc. Как и заголовок ,нижний колонтитул До сих пор мы рассмотрели два элемента,которые есть почти на каждой веб-странице;теперь обратимся к другому,навигационному разделу. Элемент Опять же,элемент Пока все интуитивно понятно,но теперь все становится немного сложнее. Раздел Как всегда,проще всего изучить эти концепции на практических примерах. Допустим,наша страница новостного сайта будет состоять из следующих областей,каждая из которых будет представлена На данный момент вы можете увидеть общую структуру страницы,с Внутри первого раздела Обратите внимание,что мы используем элемент По логике,главная статья должна быть статьей Так как главная статья будет самым большим отдельным элементом контента на странице,мы будем использовать Как и прежде,мы используем атрибуты,чтобы указать назначение каждого раздела Перейдем к содержимому раздела Давайте добавим несколько элементов Добавьте элемент заголовка в каждую из этих новых После заголовка добавьте любой контент,который вам нравится,к элементам Используйте ту же логику для заполнения двух других разделов главной страницы,как в следующем примере для раздела популярных историй: Или следующее для раздела мультимедийных элементов: Вы можете начать видеть,как эти новые элементы играют расширенную роль с точки зрения определения структуры страницы,а также назначения или содержания отдельных элементов.Элементы Давайте посмотрим на последний элемент,который нужно добавить на нашу страницу. Элемент Вы были там? Отправьте нам письмо... Эта информация представляет собой Пожалуйста,присылайте нам свои видео... На этот раз информация Если вы уже пробовали какие-либо методы HTML5,вы не удивитесь,узнав,что для обеспечения обратной совместимости со старыми версиями Internet Explorer необходим дополнительный шаг. По умолчанию IE версии 8 и старше не позволяют использовать стили для тегов HTML5,поскольку браузер не распознает эти новые теги. Однако крошечный файл JavaScript,в просторечии известный как HTM5 Shiv можно использовать для решения этой проблемы. Вам нужно всего лишь добавить следующий код в раздел head страницы: (Необязательно:если вы хотите использовать свою собственную копию файла,вы можете загрузить исходный файл с GitHub,добавить его на свой сайт,а затем вместо этого сослаться на эту локальную копию.) Условные комментарии гарантируют,что сценарий загружается только для соответствующих старых версий браузера. Переход на HTML5 включает в себя некоторые изменения в том,как вы подходите к разработке структуры своих страниц. Однако преимущества значительны. Хорошо структурированный HTML5 дает страницы,более доступные для различных пользователей и более удобные для поиска. Код также стал чище для работы,так как некоторые из Просто для ясности:старый тег Удачного кодирования! HTML5 — пятая и новейшая версия стандарта HTML. Он предлагает новые функции,которые обеспечивают не только мультимедийную поддержку,но и улучшают поддержку создания веб-приложений,которые могут более легко и эффективно взаимодействовать с пользователем,его/ее локальными данными и серверами. Некоторые функции HTML5 по-прежнему не поддерживаются некоторыми браузерами,но ведется работа по обеспечению доступности всех функций. Ниже мы рассмотрим,как устроена страница HTML5,и какие основные теги нужно понять,чтобы начать ее использовать. Первое,что нужно сделать,это объявить,что страница использует разметку HTML5,используя Во-вторых,укажите используемый набор символов. В предыдущих версиях HTML для этого использовался очень сложный элемент. Теперь очень просто использовать метакодировку,например: По сути,Internet Explorer позволяет определить,какая версия движка используется для отображения страницы с помощью X-UA-совместимого META-тега или HTTP-заголовка. Можно указать конкретную версию или последнюю версию,используя значение «IE=edge». Идея режима совместимости заключается в том,чтобы позволить веб-сайтам и приложениям,которые не соответствуют современным стандартам,продолжать работать,пока можно производить обновления,позволяя конечным пользователям обновляться до последней версии браузера. Затем используйте Типичный сайт,оптимизированный для мобильных устройств,содержит примерно следующее: Свойство начального масштаба управляет уровнем масштабирования при первой загрузке страницы. Свойства максимального масштаба,минимального масштаба и масштабируемого пользователем определяют,как пользователям разрешено увеличивать или уменьшать масштаб страницы. Это было краткое объяснение контента,оптимизированного для мобильных устройств. Весь этот код до этого момента вместе с тегом Важная часть внутри тега head — это связывание самых разных элементов,таких как шрифты,стили,скрипты и т. д. Это означает,что когда страница отображается браузером,он будет учитывать необходимость связывания этих (в основном) файлов и отображения содержимого страницы в правильном порядке и стиле и с правильной анимацией. До этого момента наш документ,включая все теги и элементы,которые мы упоминали до сих пор,выглядел так: Ваш HTML-документ,как и настоящий документ,должен состоять из трех основных частей:заголовка Эти элементы будут содержать соответствующий контент и будут организовывать код таким семантическим образом,чтобы вам и вашему браузеру/поисковой системе было легче его читать и понимать. Ниже мы объясним каждый из них в отдельности. Элемент заголовка Элемент заголовка Кроме того,заголовок может иметь полнофункциональную панель навигации и карусель,что усложняет его. Основными тегами,используемыми внутри заголовка,будут Это пример простого заголовка страницы: Как видите,почти каждый элемент (тег) имеет классы или идентификаторы,прикрепленные к нему,чтобы ссылаться на него в CSS. Тело содержит наиболее релевантное содержимое вашего html-документа и основные элементы страницы. Содержит все содержимое документа HTML,такое как текст,гиперссылки,изображения,таблицы,списки и т.д. Большинство браузеров отображают элемент со следующими значениями по умолчанию: Тело может содержать такое большое количество тегов (элементов) как Но он также содержит определенные предварительно стилизованные элементы,такие как Это правда,что вы можете иметь список элементов,используя либо div,либо просто свободное написание с тегом Позже мы еще поговорим о семантическом коде. На данный момент примером простого тела страницы будет: Lorem ipsum dolor sit amet Элемент информацию об авторстве,информацию об авторских правах,контактную информацию,карту сайта,ссылки вверх и т. д. Это последняя часть основной структуры html,которая дает некоторые полезная информация о странице. Простой нижний колонтитул будет выглядеть так: После футера рекомендуется добавить скрипты, которые могут вам понадобиться, чтобы не замедлять загрузку страницы. Первоначально HTML был задуман как средство описания содержимого документа, а не как средство сделать его визуально привлекательным. Семантический код возвращается к этой исходной концепции и побуждает веб-дизайнеров писать код, описывающий контент, а не то, как этот контент должен выглядеть. Например, заголовок страницы может быть закодирован так: Это сделало бы заголовок большим и полужирным, придав ему вид заголовка страницы, но нет ничего, что могло бы описывает его как заголовок в коде. Это означает, что компьютер не может идентифицировать это как заголовок страницы. Чтобы написать тот же заголовок семантически, чтобы компьютер понял, что это заголовок, вы должны использовать следующий код: Способность компьютера понимать ваш контент важна по ряду причин: — Многие люди с ослабленным зрением полагаются на речевые браузеры для чтения им страниц. Эти программы не могут очень хорошо интерпретировать страницы, если они не объяснены четко. Другими словами, семантический код способствует доступности. — Поисковые системы должны понимать, о чем ваш контент, чтобы правильно ранжировать вас в поисковых системах. Семантический код имеет тенденцию улучшать ваше положение в поисковых системах, так как он легче для «пауков поисковых систем». Однако у семантического кода есть и другие преимущества: Как видно из приведенного выше примера, семантический код короче и поэтому загружается быстрее. Семантический код упрощает обновление сайта, потому что вы можете применять стиль дизайна к заголовкам всего сайта, а не к каждой странице, семантический код также легче понять людям, поэтому, если новый веб-дизайнер подберет код, он сможет его изучить. это намного быстрее. Поскольку семантический код не содержит элементов дизайна, можно изменить внешний вид вашего сайта без перекодирования всего HTML. Для всех вас, у кого может не быть хорошего представления о том, как будет выглядеть макет в графическом виде страницы. Существуют различные макеты, однако некоторые из них показаны ниже: Макеты веб-страницы Взгляните на простой бесплатный шаблон веб-страницы HTML5, который является отличным примером множества элементов. используется для создания структуры HTML5. Вы найдете этот пример в виде ZIP-файла, доступного для загрузки в разделе загрузки ниже. элементов
id
и class
с некоторыми из тех же имен,что и у новых структурных элементов. Типичные примеры включают id
атрибут заголовка включает значимую информацию в код вашей страницы;это информация,указывающая назначение элемента. Как вы уже видите,HTML5 встраивает этот уровень смысла в сами структуры разметки.
Элемент нижнего колонтитула
,так как он очень похож на заголовок
. Внизу основной части страницы добавьте следующее:<нижний колонтитул>
может содержать другие элементы,такие как ссылки и изображения. Эти первые два тега имеют смысл,поскольку они указывают что-то о содержании элементов и об их роли в логической структуре страницы,т. е. о том,что содержимое функционирует как верхний или нижний колонтитул.
Элемент навигации
nav
предназначен для основной навигационной части страницы,которая обычно содержит список ссылок на другие страницы сайта.Вставьте следующее после элемента заголовка :
<навигация><ул>
nav
может содержать другие элементы. Использование этого элемента позволяет указать его функцию или назначение,как в случае с заголовком
и нижним колонтитулом
. Это еще один случай,когда многие из нас в прошлом использовали имя тега как атрибут id
или class
(например,Элементы раздела и статьи
и 9Элементы 0005 статьи были источником путаницы для некоторых разработчиков,поскольку существует некоторая гибкость в отношении того,как они используются. По сути,элемент
раздела
отмечает разделов страницы или разделов другого элемента (например,элемента статьи
).Содержимое раздела сгруппировано в соответствии с некоторой логической темой (которую вы можете определить произвольно). С другой стороны,элемент ,артикул
,предназначен для элемент контента,который был бы самостоятельным ,если бы он был удален из остальной части страницы — типичными примерами могут быть сообщения в блогах или новостные статьи. Подводя итог:<раздел>
=область контента,которая является отдельной,но также зависимой частью целого <статья>
=область контента,которая отличается и независима раздел
:главная история;отрывки из нескольких других основных историй;список мультимедийных элементов;и список популярных историй.Добавьте элементов section
для каждого из них после элемента nav
,используя атрибуты id
,чтобы определить их назначение и дать нам крючки для любого стиля,который мы применим позже:<раздел>раздел><раздел>раздел><раздел>раздел><раздел>раздел>
заголовок
,навигация
,различные элементы раздела
для тематических разделов содержимого страницы,затем нижний колонтитул
. Внутри элементов раздела
мы рассмотрим доступные вложенные структуры. Главные новости
для главных новостей (
id="top_story"
),начните с заголовка:Главные новости
h3
,так как у нас уже есть h2
и это ниже в иерархии страниц. Придет время,когда вашим элементам заголовков не нужно будет соблюдать эту относительную иерархию на странице в целом,но они смогут относиться к отдельным разделам страницы;однако на данный момент безопаснее придерживаться иерархии на уровне страницы,чтобы обеспечить совместимость и доступность браузера.,поэтому добавьте ее после заголовка:
<артикул>статья>
элементов раздела
,чтобы разделить фрагменты текстового контента внутри него. Добавьте следующее в статью :
<раздел>раздел><раздел>раздел><раздел>раздел>
внутри родительского
статьи
. Вы можете включить любой текст или другой контент в эти разделов
,просто используя фиктивный текст на данный момент,если хотите. Другие новости...
other_news
. Начните с заголовка,как мы сделали для главной статьи:Другие новости
статьи
,чтобы содержать выдержки из этих других новостей:<артикул>статья><статья>статья><статья>статья>
статей
,не забывая отражать иерархическую структуру страницы (h2
,затем h3
,затем h4
и т.д.):Заголовок статьи
article
,таким как абзац (p
) или элементы div
. <раздел>
Популярные истории
<ул><раздел>
Новости аудио и видео
<ул>section
и article
также могут иметь элементов заголовка
и нижнего колонтитула
внутри них,но для нашей страницы мы будем придерживаться одного из них на странице. В общем,лучше всего использовать элементы заголовка внутри этих других элементов,только если вам нужно иметь несколько тегов,связанных с заголовком,в этой статье/разделе. Поскольку у нас есть только один тег (
h3
элемент заголовка),нет необходимости оборачивать его в заголовок .
Боковой элемент
side
предназначен для контента,который относится к другому элементу контента (например,раздел или статья
),но не является центральным или существенным для основного элемента. Например,в нашей демонстрации это может быть ссылка «сообщить об этом». Добавьте один к главной истории,внутри "top_story"
статья
,после раздел
элементы:раздел><в сторону>
в сторону
к содержанию статьи главной истории . Давайте теперь также добавим один в раздел
,а именно для мультимедийных элементов:
<в сторону>
в стороне
относится к элементу раздела ,внутри которого она находится. И снова мы можем увидеть назначение этого элемента,просто прочитав имя тега.
Уход за Internet Explorer
Заключение
бесконечных элементов div
с 9Атрибуты 0005 class и id
заменены элементами с интуитивно понятными именами.id
и класса
. Все эти функции по-прежнему играют важную роль в структуре страницы. Структурные элементы HTML5 являются правильным инструментом только в том случае,если их название прямо описывает их роль на странице. В этих случаях их можно и нужно использовать. Пример структуры страницы HTML5 — Web Code Geeks
1. Структура HTML5
1.1 Настройка
!DOCTYPE html
в верхней части документа. meta charset="UTF-8"
. Продолжая метатеги,мы должны упомянуть meta http-equiv="X-UA-Compatible" content="IE=edge"
. Но что это? html lang="en"
для ссылки на код языка,который используется в html-документе. 1.2 Сайт,оптимизированный для мобильных устройств
meta name="viewport" content="width=device-width, initial-scale=1" управляет размером области просмотра. Его можно установить на определенное количество пикселей,например,ширина=600,или на специальное значение ширины устройства,которое представляет собой ширину экрана в пикселях CSS в масштабе 100%.
title
,который будет содержать имя вкладки страницы,может быть включен и заключен (по семантическим причинам) в тег head
сразу после типа документа,как показано ниже:1.
3 Ссылки 1.4 Завершение
<голова><мета-кодировка="UTF-8">
1.5 HTML-структура основного макета
,тела
и нижнего колонтитула
.
<заголовок>заголовок><тело>тело><нижний колонтитул>нижний колонтитул>
1.6 Понимание заголовка
представляет собой контейнер для вводного содержимого или набора навигационных ссылок.
обычно содержит:один или несколько элементов заголовка (h2 – h6),логотип или значок,информацию об авторстве.
nav
,UL
,LI
,A
,Div
,Раздел
,SPAN
,Вход
,Мрака
и т. Д. < заголовок><навигация><ул>
Это мой заголовок.
заголовок>1.7 Основные сведения о теле
тело{дисплей:блок;поле:8px}тело:фокус{контур:нет}
форма
,артикул
,ул/ол
,ли
,основной
,раздел 0 а
,раздел 0 а
,900 datetime
,progres
,select
и т. д. Ну,если вам интересно,что все эти теги означают или для чего используются,просто имейте в виду,что это все вопрос семантики. Возьмем,к примеру,ul
или ol
тег:br
в конце каждой строки для создания списка. Но использование ul упростит распознавание и быстрое отображение в браузере.Это основной раздел
<раздел>раздел><раздел><ул>1.8 Понимание нижнего колонтитула
нижнего колонтитула
обычно содержит:<нижний колонтитул><ул>
Все права защищены | Экселиксис Медиа,ООО
png">
нижний колонтитул>
2. Все дело в семантическом коде!
2.1 Что такое семантический код?
Это заголовок страницы
Это заголовок
2.
2 Почему важен семантический код? 3. Графические макеты HTML5
4. Пример веб-страницы
<голова>
Поместите сюда что-нибудь классное!
И поместите сюда что-то почти такое же крутое, но чуть длиннее...