Чтобы сверстать простой сайт, необязательно знать все HTML-теги. Для начала можно изучить самые популярные — их достаточно для создания примитивной страницы с текстом, ссылками, картинками, подключёнными стилями и скриптами.

Мы будем рассматривать популярность тегов, опираясь на исследование Николая Шабалина — автора профессиональных курсов HTML Academy. Он проанализировал структуру 55 тысяч сайтов и посмотрел, из чего они состоят: какие теги встречаются часто, а какие — редко.

Теги <html>, <head> и <body>

На каждой веб-странице есть три обязательных тега — они формируют структуру документа и содержат информацию для браузеров и поисковых систем.

<html> — контейнер для содержимого страницы.

<head> содержит служебную информацию. Здесь подключаются стили, указывается заголовок страницы, подключаются метатеги.

<body> содержит контент — всё, что отображается в браузере.

Тег <div>

8 270 734 упоминаний.

Тег <div> — самый популярный. Он используется как контейнер для HTML-элементов. В него можно добавить заголовок, абзацы текста, списки, формы или что-то ещё, а потом стилизовать.

<div class="content">
  <h2>О нас</h2>
  <p>Мы очень любим котов и веб-разработку.</p>
</div>

Тег не имеет семантического значения, то есть не передаёт никакой информации о своём содержании. Он нужен для визуального форматирования и разметки.

Обращу внимание на отрыв <div> от других тегов. Он потому популярный, что им можно описать бессмысленные сущности, коих больше, чем осмысленных. Также не для всех осмысленных сущностей есть теги. Например, <div> используется для создания сетки. Для сеток нет тегов, только стили: гриды, флексы, флоаты и прочее.

Николай Шабалин

Некоторые разработчики создают на <div> смысловые блоки, например, шапку, подвал или меню. Так можно делать, но это плохая практика. Лучше использовать специальные семантические теги: <header>, <nav>, <main>, <section>, <aside> и <article>. Они дают больше информации о содержимом и делают код более читабельным.

Тег <a>

2 918 931 упоминание.

HTML-тег <a> используется для создания ссылок. У тега есть атрибут href — в нём указывается URL-адрес страницы, на которую должен попасть пользователь. Когда адрес неизвестен, в href ставится заглушка:

<a href="https://htmlacademy.ru/">Обычная сылка</a>
<a href="#">Ссылка с заглушкой</a>

Если в атрибут добавить протокол mailto:, ссылка откроет почтовый клиент пользователя и создаст электронное письмо. Например, когда пользователь кликнет по ссылке из примера ниже, откроется клиент с автоматически заполненным полем получателя — keks@example. com.

<a href="mailto:keks@example.com">Напишите нам.</a>

Тег <span>

2 047 701 упоминание.

Тег <span> — несемантический, как и <div>. Он используется для стилизации отдельных слов и фраз в блоке текста. Например, вы можете использовать тег, чтобы изменить цвет слова в абзаце, применить другой шрифт или начертание.

<p>В этом параграфе часть слов написана <span style="color:red">красным</span> цветом.</p>

Тег <ul> и <li>

280 978 и 1 463 187 упоминаний.

<ul> создаёт неупорядоченный список, то есть элементы в нём не пронумерованы, а помечены маркером. Внутри тега с помощью <li> добавляются элементы списка.

<ul>
  <li>Первый элемент</li>
  <li>Второй элемент</li>
  <li>Третий элемент</li>
</ul>

С помощью таких списков разработчики создают навигацию, каталог с карточками товаров, пагинацию, раздел с отзывами и прочее. То есть блоки, которые содержат несколько однородных и равноправных элементов.

Тег <p>

872 383 упоминаний.

Тег <p> создаёт абзацы — отделяет одну часть текста от другой. Например, все абзацы на этой странице размечены тегом <p>.

<p>Если вы верстаете личный блог, сайт-визитку или целый интернет-магазин, не забудьте правильно разметить текст. Неважно, для каких целей вы создаёте продукт и сколько в нём будет текста — в любом случае абзацы важны.</p>
<p>В письменной речи принято в одном абзаце раскрывать одну идею. Но в HTML абзац — не смысловая, а скорее структурная единица. Он лишь явно выделяет параграфы. Притом в тег можно вкладывать не только текст, но и, например, картинки.</p>

Тег <img>

834 669 упоминаний.

Тег <img> добавляет графики, иллюстрации и фотографии. Обычно его используют, когда на страницу нужно вставить контентное изображение — то есть которое доносит до пользователей полезную информацию. Например, показывает продукт или покупателей. Фоны и декоративные элементы чаще добавляют с помощью CSS или тега <svg>.

У <img> есть четыре обязательных атрибута:

  • alt — альтернативный текст, описывающий изображение. Нужен на случай, если картинка не загрузится.
  • src — адрес, по которому находится изображение.
  • width — ширина изображения.
  • height— высота изображения.
<img src="images/keks.jpg" width="480" height="240" alt="Рыжий кот Кекс сидит на клавиатуре.">

Тег <br>

801 902 упоминания.

Тег <br> переносит текст на другую строку, не начиная нового абзаца.

<p>Санкт-Петербург, <br>
набережная реки Карповки, 5.
</p>

Распространённая ошибка разработчиков-новичков — использовать <br> для деления текста на абзацы. Тег не подходит для таких задач — для абзацев есть <p>.

Тег <script>

765 856 упоминаний.

Тег подключает на страницу JavaScript. <script> ставится в конце документа, перед закрывающим тегом </body>. Если сделать наоборот и подключить JS в начале, страница будет отрисовываться медленнее.

У тега есть обязательный атрибут src, в котором указывается путь до файла.

<script src="scripts/script.js"></script>

Тег <link>

542 306 упоминаний.

Тег <link> подключает CSS-файлы. В отличие от <script>, он ставится в начале документа, в теге <head>.

У <link> два обязательных атрибута:

  • rel со значением stylesheet означает, что файл содержит таблицу стилей.
  • href указывает адрес файла.
<link rel="stylesheet" href="styles/style.css">

Тег <meta>

538 580 упоминаний.

Тег содержит метаданные — информацию, которая может влиять на страницу. Атрибут charset указывает кодировку страницы, чтобы браузер правильно отобразил текст. Самая распространённая современная кодировка — utf-8.

<meta charset="utf-8">

С помощью атрибута name="keywords" можно подсказать поисковым системам ключевые слова, по которым пользователи должны находить сайт. Атрибут name="description" указывает описание сайта, которое будет видно, например, в поисковике.

<meta name="keywords" name="фронтенд-разработка, обучение программированию">
<meta name="description" name="Обучаем фронтенд- и бэкенд-разработке">

Все атрибуты тега <meta>.

Тег <i>

390 689 упоминаний.

Тег <i> форматирует текст — делает его курсивным.

<p>Дизайнер решил выделить текст <i>курсивом</i></p>

Часто тег <i> используется для иконок: <i class="icon">. Именно поэтому он так часто встречается в исследовании. Однако такое использование тега — грубая ошибка, потому что он предназначен для работы с текстом

Кстати, есть ещё один тег для выделения курсивом, не такой популярный — <em>. Разработчики используют его, чтобы поставить акцент на слове или фразе.

<p>Тебе <em>не стоило</em> дразнить Кекса. Он <em>обиделся</em></p>

Что ещё надо знать

Как мы говорили в начале статьи, этих тегов хватит для создания простой страницы. Но чтобы верстать хорошо, придётся изучить семантические теги. То есть не создавать всю разметку на <div>, а размечать элементы правильно. Например, для шапки сайта использовать <header>, для подвала — <footer>, для навигации — <nav>, а для крупных смысловых разделов — <section>.

Есть и другие теги — вы найдёте их в спецификации HTML.

Потренировать навыки вёрстки можно на курсе «Старт во фронтенде».
Два первых раздела — бесплатные.

Материалы по теме