Тег blockquote в HTML: блочная цитата и для чего он предназначен

Тег blockquote (от английского block quotation, «блочная цитата») отмечает длинную цитату из другого источника: отдельный фрагмент чужого текста, который может состоять из нескольких абзацев. Тег парный, закрывающий обязателен. Браузер выводит его блоком с отступами слева и справа, но кавычек не добавляет. Собственный атрибут у тега один, cite: адрес источника, читателю он не виден.

HTML
<blockquote>
  <p>Хорошая вёрстка начинается с понятной структуры.</p>
  <p>Оформление добавляют позже.</p>
</blockquote>

Тег blockquote в HTML: для чего предназначен

Тег blockquote предназначен для цитаты из другого источника, которая занимает отдельный блок: несколько предложений, абзац или несколько абзацев. Внутри находится только процитированный текст. Короткая фраза внутри предложения записывается тегом q.

Стандарт запрещает использовать blockquote в трёх случаях: чтобы просто сдвинуть текст вправо, для реплик диалога и для цитаты из вашей же статьи, вынесенной в крупную врезку. Для отступа есть CSS-свойства margin и padding, а врезку из своего текста размечают тегом aside. Читать: раздел о blockquote в WHATWG.

Кавычек этот тег не добавляет, в отличие от q. При копировании абзаца из blockquote в буфер попадает только текст цитаты.

Отступы тега blockquote: сколько места остаётся тексту

По умолчанию браузер выводит blockquote блоком с полями 16 px сверху и снизу и 40 px слева и справа. Внутренний абзац своих полей поверх этих не добавляет: между цитатой и соседним абзацем остаётся 16 px.

Сорок пикселей с каждой стороны на широком экране почти незаметны, а на телефоне забирают около сорока процентов ширины: в колонке 207 px тексту остаётся 127 px.

Заметнее всего это при вложенности. Каждый вложенный blockquote сдвигается ещё на 40 px, и на телефоне у третьего уровня для текста не остаётся места вовсе (в замере его ширина равна нулю). То же с figure: у него свои 40 px слева, поэтому цитата внутри него сужается ещё сильнее, и в той же колонке тексту остаётся 47 px.

Поля уменьшают правилом margin: запись margin: 1em 0 сохраняет вертикальные отступы и убирает боковые. Вокруг цитаты внутри figure обнуляют поля самого figure. Слева цитату при этом удобно выделить линией, чтобы она не слилась с текстом.

CSS
blockquote {
  margin: 1em 0;
  padding-left: 1em;
}

figure {
  margin: 0;
}

Пример: сколько места остаётся тексту

Результат

Кнопки меняют, как записана цитата и какие у неё поля. Кадр сам измеряет, сколько ширины осталось самой вложенной цитате, и показывает долю столбиком. Ширина кадра зависит от экрана, поэтому числа у вас могут отличаться от указанных в тексте.

Что можно записывать внутри blockquote

Внутри blockquote допустимо любое блочное содержимое: абзацы, списки, заголовки, блоки кода, а в абзацах строчные теги. Чаще всего это абзацы: каждый абзац цитаты записывают отдельным p.

HTML
<blockquote>
  <p>Перед публикацией проверьте:</p>
  <ul>
    <li>заголовки идут по порядку;</li>
    <li>у картинок есть описание.</li>
  </ul>
</blockquote>

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

Пример: как сократить цитату

Результат

Нажимайте на предложения оригинала, чтобы их пропустить: подряд идущие пропуски записываются одним знаком [...]. Кнопка ниже добавляет пояснение в квадратных скобках. Разметка и вид цитаты меняются сразу.

Внутрь можно вложить и другой blockquote: так оформляют цитату в цитате, например на форумах. Помните про поля: на телефоне вложенность быстро съедает ширину, как показано в разделе про отступы.

Сам blockquote нельзя записывать внутрь абзаца p: браузер закроет абзац, а на его месте после блока останется пустой абзац.

Тег blockquote и cite: атрибут и указание источника

Атрибут cite у blockquote хранит адрес источника для программ: читатель его не видит, а высота блока с ним не меняется. Название источника и автора записывают видимым текстом вне цитаты: в figcaption внутри figure или в абзаце после неё.

HTML
<figure>
  <blockquote cite="https://example.com/guide">
    <p>Хорошая вёрстка начинается с понятной структуры.</p>
  </blockquote>
  <figcaption>Из руководства <cite>Основы вёрстки</cite></figcaption>
</figure>

Внутри самого blockquote тег cite допустим только тогда, когда название упомянуто в процитированном тексте. Почему указание источника находится вне цитаты, чем элемент отличается от атрибута и что писать вместо имени автора, разобрано на странице тега cite, в разделе где указать источник цитаты. У figure свои поля, поэтому для узких экранов смотрите правило из раздела про отступы.

Оформление blockquote в CSS: рамка, фон и кавычки

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

CSS
blockquote {
  margin: 1em 0;
  padding: 0.5em 1em;
  border-left: 4px solid #d8a25a;
  background: #faf5ee;
}

Если нужна кавычка, её рисуют через ::before и записывают знак кодом: так безопасно для любой кодировки файла. Кавычка из CSS не входит в текст страницы и при копировании не попадает в буфер, как и у тега q.

CSS
blockquote p:first-child::before {
  content: "\201C";
}

Курсив стандарт цитате не предписывает: его добавляют по вкусу. Оформление можно менять как угодно, а смысл остаётся в теге, поэтому не заменяйте blockquote блоком div с линией слева.

Пример: оформление цитаты

Результат

Кнопки включают и выключают отдельные правила. В блоке «Правила CSS» видно, что записано, ниже - вид цитаты и текущие боковые поля, измеренные браузером.

Тег blockquote, q или aside: как выбрать

Выбор тега зависит от того, откуда взят текст и как он связан с остальным. Чужие слова целым блоком - blockquote, чужие слова внутри предложения - q, цитата из вашего же текста, вынесенная во врезку, - aside. Всё остальное, включая отступ и диалоги, не цитата.

СитуацияЧто записать
Длинная цитата из другого источникаblockquote
Короткая фраза внутри предложенияq
Цитата из вашей же статьи в боковой врезкеaside
Реплики диалогаОбычные абзацы
Просто сдвинуть текст вправоCSS: margin или padding

Пример: какой тег нужен

Результат

Для каждой из пяти ситуаций выберите подходящий вариант. После ответа кадр показывает правильный вариант и объясняет выбор, а внизу считает верные ответы.

Частые ошибки с тегом blockquote

Ошибки с этим тегом делятся на две группы: его записывают там, где цитаты нет, и не учитывают его поля на узких экранах.

ОшибкаЧто происходитКак исправить
blockquote ради отступа обычного текстаТег обещает «это чужая цитата», а там свой текст, стандарт такое запрещаетCSS: margin или padding
Вложенные blockquote с полями по умолчаниюНа телефоне у третьего уровня для текста не остаётся местаmargin: 1em 0 и padding-left
Цитата в figure с полями по умолчаниюСкладываются поля figure и blockquote, на телефоне тексту остаётся узкая полосаfigure { margin: 0 }
Название источника записано внутри blockquoteИсточник смешивается с чужим текстом, а по стандарту он находится вне цитатыfigcaption или абзац после цитаты
blockquote записан внутрь абзаца pАбзац закрывается сам, а после блока остаётся пустой абзацЗакрыть p до blockquote
От blockquote ждут кавычекТег добавляет только поля, кавычек нетКавычка через ::before или без кавычек
Цитата из вашей же статьи записана в blockquoteЭто не чужой источник, стандарт предлагает asideaside
Реплики диалога записаны в blockquoteСтандарт не рекомендует использовать тег для диалоговОбычные абзацы
Атрибуту cite приписывают видимостьАдрес читателю не виден, высота блока не меняетсяВидимое указание источника в figcaption
Категория
Поделиться в социальных сетях

Отправить комментарий

0 Комментарии

Отправить комментарий (0)

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×