W3docs

HTML тег <mark>

HTML тег <mark> выделяет текст как релевантный в текущем контексте. Узнайте о его применении, атрибутах и стилизации на примерах.

Тег <mark> — один из элементов HTML5. Он помечает фрагмент текста как релевантный или выделенный для справки — примерно так же, как вы проводите маркером по словам на бумажной странице. По умолчанию браузеры отображают его с жёлтым фоном.

На этой странице объясняется семантический смысл тега <mark>, когда стоит использовать его вместо обычного <span>, три классических сценария применения, а также его отличия от <strong>, <b> и <em>.

Почему <mark>, а не <span>?

Тег <span> — универсальный контейнер без какого-либо смысла: он служит исключительно крючком для стилизации. Можно задать <span> жёлтый фон, и он будет выглядеть выделенным, но для программы чтения с экрана, поисковой системы или любой другой программы это останется обычным текстом.

<mark> отличается тем, что несёт семантику: он сообщает браузеру и вспомогательным технологиям, что «эта часть текста примечательна или релевантна в текущем контексте». Выделение является частью смысла документа, а не только его внешнего вида.

Используйте простое правило:

  • Если выделение передаёт смысл (этот текст совпал с поисковым запросом, этот фрагмент — суть сказанного) → используйте <mark>.
  • Если нужен цветной фон только для оформления → используйте <span> с CSS.

Когда применять <mark>

Спецификация описывает три основных сценария:

  • Выделение совпадений в результатах поиска. Отмечайте слова в тексте, совпадающие с поисковым запросом пользователя, чтобы он мог быстро найти нужное место.
  • Релевантность внутри цитаты. Когда вы цитируете чужой текст, <mark> выделяет ту часть, которая важна для цели цитирования — акцент, которого оригинальный автор не добавлял.
  • Выделенный пользователем контент. Представляет текст, который читатель выделил сам, — аналог функции «выделение» в приложениях для чтения или аннотирования.
Внимание

Тег <mark> не обозначает важность или ударение. Чтобы сказать «этот текст важен», используйте <strong>; чтобы сделать смысловое ударение на слове — <em>.

Внимание

Никогда не используйте <mark> для подсветки синтаксиса или чисто визуального окрашивания. Для этого применяйте <span> с соответствующим CSS.

Синтаксис

Тег <mark> используется парно. Содержимое записывается между открывающим (<mark>) и закрывающим (</mark>) тегами.

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

HTML тег <mark>

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Learn HyperText markup language (HTML) on <mark>W3Docs.com</mark> website.</p>
  </body>
</html>

Результат

Предложение, в котором слова "W3Docs.com" выделены жёлтым цветом тегом mark

Реальный пример: выделение совпадений при поиске

Представьте страницу с результатами поиска, где пользователь искал слово highlight. Каждое совпадающее слово в абзаце оборачивается в <mark>, чтобы результат было легко просматривать. Пример ниже также изменяет цвет выделения и добавляет правило @media print, поскольку жёлтый фон по умолчанию при печати страниц часто не отображается:

<!DOCTYPE html>
<html>
  <head>
    <title>Search results</title>
    <style>
      /* Custom highlight color instead of the default yellow */
      mark {
        background-color: #c8f7c5;
        color: #14532d;
        padding: 0 2px;
        border-radius: 3px;
      }
      /* Make sure highlights are still visible when printed */
      @media print {
        mark {
          background-color: transparent;
          color: inherit;
          text-decoration: underline;
        }
      }
    </style>
  </head>
  <body>
    <p>
      You can <mark>highlight</mark> search terms so the user finds them
      fast. Each <mark>highlight</mark> marks where the query matched.
    </p>
  </body>
</html>

Тег <mark> и другие HTML теги

Некоторые HTML элементы выглядят похоже на <mark>, но означают разные вещи. Правильный выбор важен для доступности и SEO, поскольку каждый элемент сообщает браузерам и вспомогательным технологиям о своём особом назначении.

HTML тег <strong>

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

HTML тег <b>

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

HTML тег <em>

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

Коротко: <mark> = релевантно/выделено здесь, <strong> = важно, <b> = визуально жирный, без смысла, <em> = речевое ударение.

Атрибуты

У тега <mark> нет собственных атрибутов — он принимает только глобальные атрибуты и атрибуты событий.

Как стилизовать HTML тег <mark>

Вы можете изменить жёлтый фон по умолчанию с помощью CSS свойства background-color:

mark {
  background-color: #ffeb3b;
  color: #333;
}

Практика

Практика
Что обозначает HTML тег mark применительно к обёрнутому тексту?
Что обозначает HTML тег mark применительно к обёрнутому тексту?
Was this page helpful?