Что использовать для стихотворения?
pre
blockquote
code
- что-то другое?
Что использовать для стихотворения?
pre
blockquote
code
Не используйте code
(если только компьютерный код является частью стихотворения). Не используйте blockquote
(если вы не цитируете Стихотворение).
pre
или br
Вы можете использовать pre
element. В спецификации дан (информативный) пример:
Ниже показано современное стихотворение, в котором используется элемент pre, чтобы сохранить свое необычное форматирование, которое составляет неотъемлемую часть самого стихотворения.
<pre> maxling it is with a heart heavy that i admit loss of a feline so loved a friend lost to the unknown (night) ~cdr 11dec07</pre>
Однако я бы использовал элемент pre
только в том случае, если стихотворение содержит «больше», чем просто значимые разрывы строк (например, в этом примере горизонтальные пробелы имеют значение).
Если у вас есть простое стихотворение, я бы выбрал br
элемент:
br
элементы должны использоваться только для разрывов строк, которые фактически являются частью содержания, например, в стихах или адресах.
p
Для большинства стихотворений p
элемент является правильный кандидат (или, конечно, несколько p
элементов). В спецификации есть (информативный) пример:
<p>There was once an example from Femley,<br> Whose markup was of dubious quality.<br> The validator complained,<br> So the author was pained,<br> To move the error from the markup to the rhyming.</p>
Например, адрес также является абзацем, как часть формы, подписи или строфы в стихотворении.
article
, figure
)В зависимости от контекста (содержание, структура страницы,…) может быть подходящим элемент секционирования (_ 16_ в большинстве случаев).
Также в зависимости от контекста figure
element может быть уместным:
Здесь часть стихотворения помечена знаком
figure
.<figure> <p>'Twas brillig, and the slithy toves<br> Did gyre and gimble in the wabe;<br> All mimsy were the borogoves,<br> And the mome raths outgrabe.</p> <figcaption><cite>Jabberwocky</cite> (first verse). Lewis Carroll, 1832-98</figcaption> </figure>
Но не используйте их в целом для всех стихотворений, это действительно зависит от страницы, правильность их использования.
poetry
(→ Отклонено)Я искал ту же информацию и, аналогично, не нашел никаких окончательных «лучших практик», поэтому я решил, что мне просто нужно придумать свой собственный метод. Тег <p>
действительно имеет смысл в качестве маркера строфы с линиями, разделенными на <br>
s, в соответствии со спецификацией - НО я обнаружил, что этот стиль разметки не обеспечивает достаточной гибкости.
В частности, я хотел контролировать отступы. Например, если линия слишком широкая для ширины текстового столбца, она не должна просто разрываться: ее продолжение должно иметь отступ. Этот висячий отступ может быть достигнут только (насколько мне известно), если каждая строка является отдельным элементом блока. Итак, в моем случае я сделал каждую стихотворную строку <p>
с классом (скажем, «поэтическая строка»). Тогда я могу использовать следующий CSS:
.poetry-line {
text-indent: -2em;
margin-left: 2em;
}
В другом примере в стихотворении, которое я размещал, были отступы каждой второй строки с некоторыми неровностями в концах строф. Я не мог добиться такого эффекта, если между строками было всего <br>
секунд. Мне пришлось создать новый класс для «строки с отступом» и применить его вручную.
Я просто делюсь своим опытом. Я предполагаю, что я предлагаю вам использовать элемент уровня блока для каждой строки для целей форматирования. Это может быть <p>
, или я думаю, вы могли бы использовать CSS, чтобы установить <span>
"display" на "block". В любом случае, я думаю, что пример спецификации с <br>
s между строками не будет работать для большинства стихов: каждая строка должна быть отдельным элементом.
each-line
для этого самого варианта использования с text-indent
. Вы скажете, например, text-indent: -2em each-line;
. Но по состоянию на 2021 год ни один браузер не реализовал это а>. Кто-то не думает о легком вкладе в программное обеспечение с открытым исходным кодом?
- person Maëlan; 29.04.2021