HTML + CSS
  • 🧑‍💻Full-Stack Web Developer
  • ‼️Список корисних ресурсів
  • 📚Теорія
    • 1️⃣HTML
      • Введення в веб-розробку
      • Теги та атрибути
      • Скелет документа HTML
      • Семантика
      • Розмітка тексту
      • Розмітка тексту (2 частина)
      • Зображення
      • Структура HTML-документа
      • Таблиці
      • Символьні підстановки
      • Таблиця кодів символів
      • Відео та аудіо
      • Інструменти розробника
      • Валідація
    • 2️⃣CSS та селектори
      • CSS
      • Селектори
      • Псевдокласи стану
      • Колір
      • Каскад стилів
      • CSS-змінні
      • Одиниці вимірювання
      • Стилізація тексту
      • Властивості шрифту
      • Псевдоелементи тексту
      • Підключення сторонніх шрифтів
    • 3️⃣Блокова модель
      • Основи блокової моделі
      • Геометрія елемента
      • Типи елементів
      • Структурні псевдокласи
    • 4️⃣Flexbox
      • Концепції
      • Властивості контейнера
      • Властивості елемента
    • 5️⃣Grid
    • 6️⃣Зображення і декор
      • Типи зображень
      • Фон елемента
      • Властивості object-fit і object-position
      • Псевдоелементи
      • Градієнт
      • Тінь елемента
    • 7️⃣Векторна графіка
      • Що таке векторна графіка
      • SVG-елементи
      • SVG-документ
      • Використання векторної графіки
      • Зміна властивостей в SVG
    • 8️⃣Позиціонування
      • Позиційовані елементи
      • Властивість z-index
      • Властивість overflow
    • 9️⃣Переходи і анімація
      • CSS-переходи
      • CSS-анімація
      • 2D-трансформації
      • Перспектива
    • 🔟Форми
      • Для чого потрібні форми
      • Елемент <form>
      • Елемент <label>
      • Елемент <input>
      • Елемент <textarea>
      • Елемент <select>
      • Елемент <datalist>
      • Групування полів
      • Валідація форм
      • Валідація на клієнті
      • Псевдокласи стану
    • 🐭Адаптивна верстка
      • Медіа-запити
      • Метатег viewport
      • Інструменти розробника для адаптивної та респонсивної верстки
      • Типи верстки
      • Стратегія Mobile First
      • Вендорні префікси
      • Налаштування теми
    • 🐹Адаптивна графіка
      • Щільність пікселів
      • Респонсивні зображення
      • Респонсивні фонові зображення
      • Респонсивний елемент <img>
      • Елемент <picture>
    • 🦁Методологія ВЕМ
    • 🐶Препроцесор SASS
    • 🐰CSS фреймворки
      • Що таке CSS фреймворки
  • 👷‍♂️Практика
    • 👷Практика
  • Про мене
    • Про мене
Powered by GitBook
On this page
  • Тег <header>​
  • Тег <footer>​
  • Тег <main>​
  • ​Тег <nav>​
  • Тег <article>​
  • Тег <section>​
  • Тег <div>​
  • Як вибрати тег
  • Розмітка сторінки​
  1. Теорія
  2. HTML

Структура HTML-документа

PreviousЗображенняNextТаблиці

Last updated 1 year ago

Верстку сторінок потрібно робити семантичними тегами. Кожен із них потрібно використовувати у чітко визначеному для нього місці та випадку. Далі розглянемо ці теги, якими роблять розмітку всередині тегу body.

Тег <header>

Тег <header> - це по суті шапка нашого сайту, або сторінки. Зазвичай містить логотип і навігацію.

<body>
  <header>
    <a href="/">Logo</a>
    <ul>
      Page Navigation
    </ul>
  </header>
</body>

Тег <footer>

Тег <footer> - нижня частина сторінки або сайту. Зазвичай тут розташовують копірайт список посилань на соціальні мережі контактну форму та іншу інформацію.

<body>

  <header>
    <a href="/">Logo</a>

    <ul>
      Page Navigation
    </ul>
  </header>

  <footer>
    <ul>
      <li><a href="">Facebook</a></li>
      <li><a href="">Twitter</a></li>
      <li><a href="">Instagram</a></li>
    </ul>
    
    <p>All rights reserved &copy;website.com</p>
  </footer>
</body>

Тег <footer> - головний унікальний контент сторінки. Може бути лише один на сторінку. Зазвичай розташовується між <header> і <footer>.

<body>
  <header></header>

  <main></main>

  <footer></footer>
</body>

Тег <nav> - всередині цього тегу розміщують основну навігацію сайту.

<body>
  <header>
    <a href="/">Logo</a>
    <nav>
      <ul>
        <li><a href="/services">Services</a></li>
        <li><a href="/contact">Contact</a></li>
        <li><a href="/about">About</a></li>
      </ul>
    </nav>
  </header>

  <main></main>

  <footer>
    <ul>
      <li><a href="">Facebook</a></li>
      <li><a href="">Twitter</a></li>
      <li><a href="">Instagram</a></li>
    </ul>
  </footer>
</body>

Тег <article> - частина сторінки, яка має самостійне смислове значення. Це може бути стаття, пост на форумі, картка товару в інтернет-магазині тощо.

<article>
  <h1>Гаррі Поттер і філософський камінь</h1>
  <img src="шлях до постера" alt="Гаррі Поттер" />
  <p>
    Фільм про юного чарівника із школи чародійства і магії "Гоґвортс".
  </p>
  <p>Ціна квитка: 100 гривень</p>
</article>

Якщо цей розділ сторінки винести на окрему сторінку разом із заголовком і він все ще матиме самостійне смислове наповнення, то це - <article>.

Тег <section> - у цей тег вміщують контент за спільним смисловим значенням. У окремі секції наприклад обʼєднують профілі користувачів, приклади робіт, список товарів тощо.

<section>
  <h1>Найкращі працівники тижня:</h1>

  <ul>
    <li>Іван Іваненко</li>
    <li>Петро Петренко</li>
    <li>Степан Степаненко</li>
  </ul>
</section>

У кожному тезі <li> може бути картка працівника з фотографією і посадою.

Якщо цей розділ сторінки винести на окрему сторінку разом із заголовком і він не матиме самостійне смислове наповнення, то це - <section>.

Тег <div> - універсальний контейнер. Не має семантичного значення. Зазвичай його використовують як обгортку для подальшої стилізації контенту. Поганою практикою є верстання сайту тільки на <div> без використання семантичних тегів.

Як вибрати тег

Приблизну схему вибору правильного тегу наведено в алгоритмі нижче.

Звичайно всю вищезгадану верстку роблять всередині тегу <body>. Скелет сайту (Базова розмітка) має такий вигляд.

<!DOCTYPE html>
<html lang="uk">
<head>
  <!-- Service information -->
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <!-- Content -->
</body>
</html>

Покликання:

Тег <main>

Тег <nav>

Тег <article>

Тег <section>

Тег <div>

Розмітка сторінки

Сервіс інтерактивного онлайн-кодингу автоматично додає базову розмітку.

Інтерактивний майданчик

📚
1️⃣
​
​
​
​
​
​
​
​
​
​
codepen.io
Специфікація тегу <header>
Специфікація тегу <footer>
Специфікація тегу <main>
Специфікація тегу <nav>
Специфікація тегу <article>
Специфікація тегу <section>
Специфікація тегу <div>
Трошки більше про семантичну верстку і семантичні теги
Алгоритм вибору тегу
codepen.io