W3docs

HTML тег <q>

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

Тег <q> — это строчный элемент, предназначенный для коротких цитат, которые вписываются в поток предложения и не занимают несколько строк. Главная особенность <q> состоит в том, что браузеры автоматически добавляют кавычки вокруг содержимого — вводить кавычки самостоятельно не нужно.

Для длинных самостоятельных цитат, которые образуют собственный абзац, используйте блочный элемент <blockquote>.

На этой странице рассматривается, когда применять <q>, чем он отличается от <blockquote>, атрибут cite, а также особенный для <q> способ настройки вставляемых кавычек с помощью CSS-свойства quotes.

Синтаксис

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

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

HTML-тег <q>

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Bernard Show says:
      <q cite="https://www.wikiquote.org/">He who can, does; he who cannot, teaches.</q>
    </p>
  </body>
</html>

Результат

q tag example

<q> и <blockquote>

Оба элемента используются для оформления цитат, но служат разным целям:

<q><blockquote>
ОтображениеСтрочный — вписывается в предложениеБлочный — отдельный блок с отступом
ДлинаКороткие цитатыДлинные самостоятельные цитаты
КавычкиБраузер добавляет автоматическиНе добавляются; при необходимости добавляете сами
Атрибут citeПоддерживается (URL источника)Поддерживается (URL источника)

Используйте <q>, когда цитата находится внутри основного текста, и <blockquote>, когда она стоит отдельно. Не вводите кавычки внутри <q> — браузер добавит их сам, и при ручном вводе получатся двойные кавычки.

Пример использования <q> и <blockquote> вместе:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>As the proverb goes, <q cite="https://www.wikiquote.org/">He who can, does; he who cannot, teaches.</q></p>

    <blockquote cite="https://en.wikipedia.org/wiki/Alice%27s_Adventures_in_Wonderland">
      "We're all mad here. I'm mad. You're mad," said the Cheshire Cat.
    </blockquote>
  </body>
</html>

Обратите внимание: текст <q> отображается с кавычками, которые добавил браузер, а текст <blockquote> выводится как отдельный блок с отступом без каких-либо кавычек.

Атрибут cite и элемент <cite>

Эти два схожих по названию инструмента легко перепутать:

  • Атрибут cite (<q cite="...">) содержит машиночитаемый URL, указывающий на источник цитаты. Браузером он не отображается — он предназначен для поисковых систем, программ чтения с экрана и скриптов.
  • Элемент <cite> — это видимый текст, используемый для разметки названия упоминаемого произведения (книги, песни, фильма, статьи). По умолчанию отображается курсивом.

Оба инструмента можно использовать вместе — атрибут cite для машиночитаемого источника, а видимый элемент <cite> для человекочитаемой ссылки:

<p>
  <q cite="https://www.gutenberg.org/ebooks/11">We're all mad here.</q>
  &mdash; <cite>Alice's Adventures in Wonderland</cite>
</p>

Автоматические кавычки

Кавычки вокруг содержимого <q> не являются частью HTML — браузеры добавляют их через CSS, используя псевдоэлементы ::before и ::after вместе со значениями content: open-quote и content: close-quote. Таблица стилей пользовательского агента по умолчанию выглядит примерно так:

q::before {
  content: open-quote;
}
q::after {
  content: close-quote;
}

Изменение кавычек с помощью CSS-свойства quotes

Поскольку кавычки генерируются через open-quote/close-quote, наиболее специфичный для <q> способ их настройки — это CSS-свойство quotes. Оно позволяет задать нужные символы без изменения HTML:

<style>
  q {
    quotes: "«" "»";
  }
</style>
<p>He who can, <q>does</q>; he who cannot, teaches.</p>

Чтобы полностью убрать кавычки, установите quotes: none.

Вложенные элементы <q>

При вложении одного <q> в другой браузеры автоматически чередуют стили внешних и внутренних кавычек (например, двойные снаружи и одинарные внутри). Свойство quotes принимает вторую пару строк для вложенного уровня:

<style>
  q {
    quotes: '"' '"' "'" "'";
  }
</style>
<p>
  <q>The teacher said, <q>He who can, does.</q></q>
</p>

Первая пара ('"' '"') задаёт стиль внешнего уровня, вторая ("'" "'") — вложенного.

Атрибут lang и кавычки для разных локалей

Кавычки различаются в зависимости от языка — в английском используются "…", во французском «… », в немецком „…". Браузеры выбирают правильные кавычки на основе языка элемента, поэтому установка атрибута lang на <q> (или родительском элементе) автоматически даёт корректные для локали кавычки:

<p lang="fr"><q>Bonjour le monde</q></p>
<p lang="de"><q>Hallo Welt</q></p>

В контексте французского языка браузер отобразит гильеметы («… »), в контексте немецкого — нижние-верхние кавычки („…").

Атрибуты

АтрибутЗначениеОписание
citeURLМашиночитаемый URL, указывающий на источник цитаты. Пользователю не отображается.
langlanguage-codeЗадаёт язык содержимого, который определяет соответствующие локали кавычки.

Тег <q> также поддерживает глобальные атрибуты и атрибуты событий.

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

Поскольку кавычки генерируются через open-quote/close-quote, наиболее специфичный для <q> инструмент стилизации — CSS-свойство quotes:

<style>
  q {
    quotes: "‹" "›";
    font-weight: bold;
  }
</style>
<p>He who can, <q>does</q>; he who cannot, teaches.</p>

Практика

Практика
Какова функция HTML-тега <q>?
Какова функция HTML-тега <q>?
Was this page helpful?