Структурні елементи сторінки

Влад Мержевич

Набір структурних елементів HTML5 викликає багато питань у початківців верстальників. У чому відмінність між <article> та <section>? Коли потрібно використовувати <main>, а коли <article>? Що розмістити в <aside>? Чи можна додавати <section> в <footer>? Замість спрощення роботи та кодування, ці елементи лише заплутують. Здається, є специфікація HTML, до якої потрібно звертатися за спірними питаннями. Проте проблема полягає в тому, що текст специфікації можна трактувати по-різному, тому на форумах часто відбуваються словесні баталії, кожен захищає свою протилежну позицію.

На практиці, який елемент використовувати в певних випадках повинен вирішувати сам верстальник, виходячи з вмісту веб-сторінки. Тому що мова йде про структурні елементи, які визначають структуру документа, і вона може бути різною для кожного сайту. Ось типові блоки будь-якого сайту:

  • «шапка»;
  • «підвал»;
  • навігація;
  • стаття;
  • бічна панель;
  • розділ.

«Шапка»

Зазвичай розташовується угорі веб-сторінки, містить назву сайту, головне меню, форму пошуку.

«Підвал»

Зазвичай розташовується у самому низу веб-сторінки, в підвалі пишуть копірайти, розміщують іконки соцмереж, форму підписки, дублюють навігацію.

Навігація

Це головне меню сайту, посилання для переходу до основних розділів сайту.

Стаття

Плаский текст з назвою, вмістом, датою публікації, ім'ям автора.

Бічна панель

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

Розділ

Розділ — це основна структурна одиниця при поділі сайту на блоки. В основному, розділ містить заголовок та вміст, але може обійтися і без заголовка як, наприклад, з рекламним блоком.

Приблизно визначили, з чого складається будь-який сайт і тепер згадаємо, які елементи для них є в HTML5:

  • <main>
  • <header>
  • <footer>
  • <section>
  • <nav>
  • <article>
  • <aside>

<main>

Це елемент, всередині якого розташовується унікальний головний вміст веб-сторінки. Є деякі правила щодо використання <main>:

<main> в коді повинен бути один екземпляр;
<main> не повинен містити повторювані елементи від сторінки до сторінки, наприклад, логотип, назву сайту, банери тощо;
<main> не впливає на схему документа;
<main> не можна вставляти всередину <article>, <aside>, <footer>, <header> або <nav>.

Головним чином використовується як обгортка для статті з заголовком, ім'ям автора, датою публікації, коментарями.

<header>

Використовується для «шапки» сайту, переважно. Але ця роль не обмежується тим, що в коді може бути кілька елементів <header>. Тому його можна вставляти як заголовки розділів, наприклад, статті.

<footer>

Використовується для «підвала». Як і в випадку з <header> це може бути «підвал» сайту або «підвал» статті.

<section>

Розділ документа або іншими словами, вміст, згрупований за якимось принципом. <section> є типовим елементом для розбиття вмісту веб-сторінки на тематичні блоки. Фактично, інші елементи, такі як <nav>, <article>, <aside>, є певними випадками <section>.

<nav>

Використовується для навігації по сайту і містить посилання для переходу на інші веб-сторінки. <nav> використовується не для всіх блоків посилань, а лише для найважливіших, такий блок, як правило, на сторінці один. Навіть якщо у вас навігація дублюється знизу сторінки, в <nav> додається лише перший, більш важливий блок.

<article>

Закінчена одиниця вмісту, така як запис блогу, повідомлення форуму, стаття, коментар користувача.

<aside>

Це розділ веб-сторінки, який косвено пов'язаний з основним її вмістом. Може використовуватися для наступних речей: бічна панель, врізка, цитата, посилання, інформація про автора, реклама тощо. <aside> розташовується не обов'язково збоку, наприклад, статті, але і всередині, зверху, знизу, загалом, там, де це вимагає вміст.

Зверніть увагу, що ми завжди акцентуємося на вмісті і вже з нього вибираємо, який елемент підійде. Якщо потрібно зробити декоративний блок чисто для дизайнерських цілей, скористайтеся елементом <div>.

Наступного разу розглянемо, як ці елементи використовувати на практиці.

SEO текст: Навчальний матеріал про структурні елементи HTML5 та їх використання на веб-сторінках. Дізнайтеся про різницю між
та
, важливість
та правила використання
,
,
,