Какие знаешь теги в HTML5

Ответ

HTML5 ввел множество семантических тегов для улучшения структуры и доступности документа:

Семантические теги:

  • <header>, <footer> - шапка и подвал
  • <nav> - навигация
  • <article> - независимый контент
  • <section> - тематическая группа
  • <aside> - боковая панель
  • <main> - основное содержание
  • <figure>, <figcaption> - медиа с подписью

Медиа теги:

  • <video>, <audio> - встроенное видео/аудио
  • <canvas> - рисование
  • <svg> - векторная графика

Формы:

  • <input> с новыми типами (date, email, range)
  • <datalist> - автодополнение
  • <progress>, <meter> - индикаторы

Пример структуры:

<header>
  <nav>...</nav>
</header>
<main>
  <article>
    <section>...</section>
  </article>
  <aside>...</aside>
</main>
<footer>...</footer>

Ответ 18+ 🔞

А, ну вот, HTML5 подъехал, понимаешь? Как будто старый HTML4 совсем охренел и решил: "Так, блядь, пора уже структуру навести, а то тут один сплошной <div> да <span>, нихуя не понятно, где что". И ввел эти ваши семантические теги, чтобы браузеры и поисковики не ебались в попытках понять, где у тебя навигация, а где основной контент.

Вот смотри, какие штуки появились, чтобы мозги не выносить:

Теги, которые наконец-то объясняют, что тут у нас:

  • <header>, <footer> — это типа шапка и подвал, не надо уже десять дивов с классом header городить. Всё просто, как три копейки.
  • <nav> — навигация, сука. Тыкаешь сюда менюшку, и все сразу понимают, что это не просто список ссылок, а именно навигация. Гениально, ёпта.
  • <article> — для самостоятельной статьи, новости, поста в блоге. Независимый кусок контента, который можно выдернуть и он не потеряет смысла.
  • <section> — это секция, тематическая группа. Раздел внутри статьи или просто логический блок на странице. Не путать с дивом, у него смысл есть!
  • <aside> — боковая панель, сайдбар, дополнительная информация. Типа "кстати, а вот ещё".
  • <main> — основное содержание страницы. Один на страницу, чтобы скринридеры не охуевали, где главное.
  • <figure> с <figcaption> — картинка, диаграмма, код с подписью. Красота, а не жизнь. Раньше это всё в параграфы и дивы пихали, пиздец.

По медиа-части тоже не отстали:

  • <video>, <audio> — раньше надо было флеш впихивать, а теперь нативненько, прямо в браузере. Прогресс, блядь.
  • <canvas> — холст для рисования всякой хуйни на JavaScript. Игры там, графики.
  • <svg> — векторная графика прямо в разметке. Красота, масштабируется как хочешь, не как эти растровые картинки.

Формы стали умнее, наконец-то:

  • У <input> появились нормальные типы: date (календарик), email (сам проверяет почту), range (ползунок). Не надо велосипеды на JS городить для элементарщины.
  • <datalist> — автодополнение для инпута. Удобно, ёбта.
  • <progress>, <meter> — индикаторы прогресса загрузки или, например, уровня заряда. Раньше тоже дивами костыляли.

Вот смотри, как теперь нормальная страница выглядит, а не свалка дивов:

<header>
  <nav>...менюшка тут...</nav>
</header>
<main>
  <article>
    <section>...первый раздел статьи...</section>
  </article>
  <aside>...реклама или что-то ещё...</aside>
</main>
<footer>...копирайты и контакты...</footer>

Видишь? Чисто, понятно, структурно. И браузеру хорошо, и поисковику приятно, и ты сам через полгода, открыв свой же код, не будешь орать: "Какой мудак это писал? А, это я...". Вот за это HTML5 и уважаю, хоть мозги на место расставил в верстке.