W3docs

HTML-теги для форматирования текста

Теги форматирования текста HTML: семантические strong и em против презентационных b и i, почему это важно и примеры.

HTML предоставляет набор строчных элементов для форматирования текста. Они делятся на две группы, и понимание разницы между ними — самое важное на этой странице.

  • Семантические (логические) теги описывают, что означает текст — что слово важно, выделено, является определяемым термином или аббревиатурой. Примеры: <strong>, <em>, <mark>, <abbr>.
  • Презентационные (физические) теги описывают, как текст должен выглядеть — жирным, курсивом, подчёркнутым — не говоря ничего о его смысле. Примеры: <b>, <i>, <u>, <small>.

Почему это различие важно

Два элемента могут выглядеть одинаково в браузере, но нести совершенно разный смысл:

  • Скринридеры и доступность. Скринридер может изменить тон голоса для <strong> и <em>, сигнализируя важность и выделение слепому пользователю. Он не делает этого для <b> и <i>, которые молчат и являются сугубо визуальными.
  • SEO. Поисковые системы придают значение семантической разметке. Обёртывание ключевой фразы в <strong> сообщает поисковым роботам о её важности; <b> лишь меняет шрифт.
  • Сопровождаемость. Смысл остаётся корректным при изменении CSS. Если впоследствии вы решите, что важный текст должен быть красным вместо жирного, <strong> по-прежнему означает «важно», и вы просто переопределяете его стиль.

Хорошее практическое правило: сначала используйте семантический тег. Презентационный тег используйте только тогда, когда вам нужен конкретный визуальный эффект без какого-либо значения.

Рассмотрим каждый тег форматирования подробно.

Теги <h1>-<h6>

Теги <h1>-<h6> используются для определения заголовков HTML. В HTML существует 6 уровней заголовков: <h1> определяет наиболее, а <h6> — наименее важные заголовки.

Пример тегов HTML <h1>-<h6>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>This is heading 1</h1>
    <h2>This is heading 2</h2>
    <h3>This is heading 3</h3>
    <h4>This is heading 4</h4>
    <h5>This is heading 5</h5>
    <h6>This is heading 6</h6>
  </body>
</html>

Результат

HTML headings

Теги <b> и <strong>

Оба по умолчанию отображаются жирным шрифтом, но в HTML5 они имеют разные значения.

  • Тег <strong>семантический тег, который помечает текст как имеющий большую важность, серьёзность или срочность — содержимое, которое читатель не должен пропустить.
  • Тег <b>презентационный тег, который помечает текст как стилистически выделенный из окружающего текста без передачи дополнительной важности — например, название продукта, ключевое слово в индексе или начальное предложение статьи.

Что выбрать? Если жирное начертание служит для обозначения важности, используйте <strong>. Если жирный нужен лишь для типографического соглашения без дополнительного смысла, используйте <b> (или, что лучше, стилизуйте текст через CSS).

Пример тегов HTML <b> и <strong>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>We use the &lt;strong&gt; tag to highlight the importance <strong> of this part of the text</strong>.</p>
    <p>The &lt;b&gt; tag is a physical tag that stands for <b>bold text</b>.</p>
  </body>
</html>

Теги <i> и <em>

Оба по умолчанию отображаются курсивом, но в HTML5 они имеют разные значения.

  • Тег <em>семантический тег, обозначающий смысловое ударение — такое, которое меняет значение предложения («Я люблю HTML» против «Я люблю HTML»). Скринридер может произнести его с дополнительным ударением.
  • Тег <i>презентационный тег для текста в альтернативном стиле или тоне: технический термин, иностранное выражение, мысль, название корабля или другое содержимое, традиционно набираемое курсивом, — без подразумевания выделения.

Что выбрать? Если вы выделяете слово так, чтобы при чтении вслух на него падало ударение, используйте <em>. Для типографического курсива без смыслового выделения используйте <i>.

Пример тегов HTML <i> и <em>:

<!DOCTYPE html>
<html>
  <body>
    <p>This is a paragraph</p>
    <p>The important part of the text is defined <em> in italic</em>.</p>
    <p><i>Lorem ipsum</i>, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. </p>
  </body>
</html>

Тег <pre>

Тег <pre> используется для определения предварительно отформатированного текста. Браузеры отображают заключённый в него текст с сохранением пробелов и переносов строк.

Пример тега HTML <pre>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <pre>Spaces
               and line breaks
               within this element 
        are shown as typed.           
    </pre>
  </body>
</html>

Тег <mark>

Тег <mark> используется для выделения части текста в документе как помеченной или подсвеченной для справочных целей.

Пример тега HTML <mark>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Learn the HyperText Markup Language on <mark>W3Docs.com</mark>.</p>
  </body>
</html>

Результат

marked-text

Тег <small>

Тег <small> уменьшает размер шрифта текста на один размер меньше базового размера шрифта документа (например, с среднего до малого или с очень крупного до крупного). Обычно тег содержит элементы второстепенной важности: уведомления об авторских правах, побочные комментарии или юридические уведомления.

Пример тега HTML <small>:

<!DOCTYPE html>
<html>
  <head>
    <title>Usage of the SMALL tag</title>
  </head>
  <body>
    <p>The interest rate is only 10%*</p>
    <small>*  per day</small> /
  </body>
</html>

Теги <del> и <s>

Тег <del> обозначает часть текста, которая была удалена из документа. Браузеры отображают этот текст с зачёркиванием.

Пример тега HTML <del>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
     <p> She likes <del>violets</del> snowdrops․</p>
  </body>
</html>

Тег <s> помечает текст, который больше не является точным или актуальным — например, старую цену рядом со сниженной. (Примечание: <s> не предназначен для обозначения удалений в редактируемом документе; для этого используйте <del>.)

Пример тега HTML <s>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p><s>I am studying in high school.</s></p>
    <p>I am studying in a university.</p>
  </body>
</html>

Содержимое обоих тегов отображается зачёркнутым. Однако, несмотря на визуальное сходство, эти теги не могут заменять друг друга: <del> означает «удалено при редактировании», а <s> означает «больше не актуально».

Теги <ins> и <u>

Тег <ins> определяет текст, который был вставлен (добавлен) в документ, обычно как парный к <del>. Содержимое по умолчанию отображается подчёркнутым.

Пример тега HTML <ins>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>She likes <del>violets</del> <ins>snowdrops</ins>․</p>
  </body>
</html>

Результат

inserted-text

В HTML5 тег <u> представляет невербальную, нетекстовую аннотацию — текст, помеченный определённым стилем (по умолчанию подчёркиванием), который несёт смысл, явно не выраженный в самом тексте. Типичное применение — обозначение слова с орфографической ошибкой или выделение имён собственных в китайском тексте. Избегайте <u> для простого декорирования, так как пользователи могут принять подчёркивание за ссылку; вместо этого используйте CSS text-decoration.

Пример тега HTML <u>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Here we used <u>the &lt;u&gt; tag</u>.</p>
  </body>
</html>

Теги <sub> и <sup>

Тег <sub> определяет подстрочный текст. Подстрочный текст располагается ниже базовой линии остальных символов строки и имеет меньший размер шрифта. Тег <sup> определяет надстрочный текст, который располагается немного выше обычной линии текста и имеет относительно меньший размер. Базовая линия проходит через верхний или нижний край символов.

Пример тегов HTML <sub> и <sup>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>The formula of water is H<sub>2</sub>O,  and the formula of alcohol is C<sub>2</sub>H<sub>5</sub>OH </p>
    <p>E = mc<sup>2</sup>, where E — rest energy, m — mass, c — the speed of light. </p>
  </body>
</html>

Результат

subscript-superscript-text

Тег <dfn>

Тег <dfn> отмечает определяющее вхождение термина — место в тексте, где термин определяется, а не каждое место, где он встречается. Это семантический тег; браузеры по умолчанию отображают его курсивом, но это стилистическое оформление является случайным и может быть изменено с помощью CSS.

Пример тега HTML <dfn>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p><dfn>HTML</dfn> (HyperText Markup Language ) — The standardized markup language for documents on the World Wide Web. Most web pages contain a description of the markup in the language HTML</p>
  </body>
</html>

Другие семантические текстовые элементы

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

  • <abbr> — аббревиатура или акроним, например <abbr title="HyperText Markup Language">HTML</abbr>. Атрибут title предоставляет полную расшифровку при наведении.
  • <cite> — название цитируемого произведения (книги, фильма, статьи и т. д.).
  • <q> — короткая строчная цитата; браузер автоматически добавляет кавычки.
  • <code> — фрагмент программного кода, отображаемый моноширинным шрифтом.
  • <kbd> — ввод с клавиатуры, который пользователь должен набрать, например Ctrl + C.
  • <samp> — образец вывода программы или системы.
  • <var> — переменная в математическом выражении или программном контексте.

Пример семантических текстовых элементов:

<!DOCTYPE html>
<html>
  <body>
    <p>The <abbr title="HyperText Markup Language">HTML</abbr> spec is huge.</p>
    <p>As stated in <cite>The HTML Handbook</cite>:
       <q>Use the right element for the job.</q></p>
    <p>Press <kbd>Ctrl</kbd> + <kbd>S</kbd> to run <code>document.title</code>.</p>
    <p>The program printed <samp>Hello, world!</samp> where <var>x</var> = 5.</p>
  </body>
</html>

Устаревшие теги — не используйте

Ряд старых тегов форматирования был удалён из стандарта HTML. Они могут по-прежнему отображаться в браузерах, но использовать их не следует — заменяйте оформление с помощью CSS, а смысл — семантическими тегами:

Устаревший тегЧто делалИспользуйте вместо
<font>Задавал цвет, размер, гарнитуруCSS color, font-size, font-family
<center>Центрировал содержимоеCSS text-align: center или margin: auto
<tt>Телетайп / моноширинный текст<code>, <kbd>, <samp> или CSS font-family: monospace
<strike>Зачёркнутый текст<del> / <s> или CSS text-decoration: line-through
<big>Увеличенный текстCSS font-size

Структурные теги: <p>, <br> и <hr>

Следующие три тега не являются тегами форматирования текста — они структурируют поток содержимого, а не стилизуют слова в строке, — но тесно связаны с темой и заслуживают рассмотрения здесь.

Тег <p> определяет абзац. Браузеры автоматически добавляют отступ 1em до и после каждого абзаца.

Пример тега HTML <p>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>The first paragraph</p>
    <p>The second paragraph</p>
  </body>
</html>

Тег <br> вставляет одиночный перенос строки. В отличие от тега <p>, перед строкой не добавляется пустой отступ.

Пример тега HTML <br>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document.</title>
  </head>
  <body>
    <h1>How to use the &lt;br /&gt; tag</h1>
    <p> We can insert the &lt;br /&gt; tag inside the paragraph, <br /> to transfer a part of the text to another line if necessary.</p>
  </body>
</html>

В HTML5 тег <hr> обозначает тематическую смену между элементами уровня абзаца на HTML-странице. В предыдущих версиях HTML он использовался для визуального рисования горизонтальной линии, разделяющей содержимое. В HTML5 элемент приобрёл семантическое значение.

Пример тега HTML <hr>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>Football</h1>
    <p>A team sport involving kicking a ball to score a goal. </p>
    <hr />
    <h1>Basketball</h1>
    <p>A game that is played between two teams of five players.</p>
  </body>
</html>

Практика

Практика
Вы хотите отметить фразу как важную, чтобы скринридеры и поисковые системы считали её значимой. Какой тег следует использовать?
Вы хотите отметить фразу как важную, чтобы скринридеры и поисковые системы считали её значимой. Какой тег следует использовать?
Was this page helpful?