Что использовать для стихотворения?
-
pre
-
blockquote
-
code
- что-то еще?
Что использовать для стихотворения?
pre
blockquote
code
Не используйте code
(если только компьютерный код не является частью стихотворения). Не используйте blockquote
(если вы не процитируете стихотворение).
pre
или br
Вы можете использовать элемент pre
. Спектр дает (информативный) пример:
Ниже показано современное стихотворение, в котором используется элемент 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
)В зависимости от контекста (содержимого, структуры страницы,...) в большинстве случаев может быть уместен элемент секционирования (article
).
Также в зависимости от контекста может быть целесообразным 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>
между каждой строкой. Мне пришлось создать новый класс для "indented-line" и применить его вручную.
Я просто делюсь своим опытом. Я предполагаю, что мое предложение состоит в том, что для форматирования вы используете элемент уровня блока для каждой строки. Это может быть <p>
, или я думаю, вы могли бы использовать CSS для установки <span>
"display" на "block". В любом случае пример spec с <br>
между строками не будет работать для большинства стихов, я думаю: каждая строка должна быть ее собственным элементом.