Сведения о вопросе

MAT

17:22, 5th August, 2020

Теги

HTML   Вёрстка    

Семантичная HTML-вёрстка многострочной цитаты?

Просмотров: 352   Ответов: 4

Вопрос к приверженцам семантичной HTML-разметки.


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


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


Совсем худо становится, если расставлять кавычки с помощью CSS; тогда они захватывают и этот текст, что совершенно неправильно. Можно, конечно, исхитриться, обернув этот тег в span, которому задать абсолютное позиционирование и небольшой отступ слева; тогда он выпадет из контекста и пойдёт после завершающей кавычки. Но это имеет всякие нежелательные побочные следствия: появление в определённых ситуациях полосы прокрутки, не соответствующее видимому порядку текста копирование…


В общем, хочется решения и семантически корректного и чтобы выглядело правильно — или хотя бы соображений почему это невозможно.



  Сведения об ответе

P_S_S

05:52, 24th August, 2020

Семантическая верстка — миф. Простой пример — вы хотите выделить слово. В «семантической» верстке для этого есть «семантический» тэг <em>, который на печати обычно выводится курсивом. Но в вашей фразе аккурат за этим словом идет, например, точка с запятой. По типографским правилам точку с запятой тоже надо выделить курсивом. Варианты: 1) оставить точку с запятой как есть, хоть это и неправильно; или 2) поместить точку с запятой внутрь «семантического» тэга, что странно, или же выделить ее отдельно тем же <em>, что еще более странно; или, наконец 3) забыть про «семантику» и верстать как правильно.

Форма сообщения — его неотъемлемая часть, в общем случае сообщение нельзя разделить на форму и содержание. The medium is the message.


  Сведения об ответе

9090

21:06, 1st October, 2020

Готовый код выше опубликовал.

Указание автора — тоже часть цитаты, вы ведь не публикуете цитату без указания авторства. Это cite.
Кавычки расставляем через q.


  Сведения об ответе

#hash

21:42, 21st August, 2020

окей, а как же тогда называть блок «выдержка из текста + указание источника»?

про cite — помню где-то недавно как раз читал про эти изменения, глупость это я считаю. но html5 — это пока ещё working draft, посмотрим что дальше будет.

код валиден:
* clip2net.com/clip/m20050/1288856845-clip-131kb.png
* clip2net.com/clip/m20050/1288856999-clip-144kb.png

если цитата занимает несколько абзацев заменяем q на div, можно добавить внутрь p по вкусу.


  Сведения об ответе

#hash

10:01, 8th August, 2020

>если цитата занимает несколько абзацев заменяем q на p, можно добавить внутрь div по вкусу.

исправлено ради большей семантичности.

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

я бы вообще сделал так
div
blockquote
p текст /p
p текст /p
/blockquote
cite адрес /cite
/div


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться