如何在语义上标记诗文?

Pav*_*nar 16 html5 semantic-web semantic-markup meta-tags semantics

什么用于诗?

  • pre
  • blockquote
  • code
  • 别的什么?

uno*_*nor 28

不要使用code(除非计算机代码诗歌的一部分).不要使用blockquote(除非你引用一首诗).

白色空间/换行符:prebr

您可以使用该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>
Run Code Online (Sandbox Code Playgroud)

但是,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>
Run Code Online (Sandbox Code Playgroud)

另外:

例如,地址也是一个段落,如诗歌中的一个表单,一个副行或一个节的一部分.

结构:(article,figure)

根据上下文(内容,页面结构......),切片元素可能是合适的(article在大多数情况下).

同样取决于上下文,figure元素可能是合适的:

在这里,诗歌的一部分被标记为使用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>
Run Code Online (Sandbox Code Playgroud)

但是不要在所有诗歌中使用这些,如果它们的使用是正确的,它实际上取决于页面.

杂项.和琐事


dav*_*ark 5

我寻找相同的信息,同样,没有找到任何明确的"最佳实践" - 所以我想我只需要找出自己的方法.根据规范,<p>标签作为节标记确实有意义,线条除以<br>s - 但是我发现标记样式没有提供足够的灵活性.

具体来说,我想控制缩进.例如,如果一行对于文本列的宽度运行得太宽,则它不应该只是中断:它的延续应该缩进.如果每条线都是它自己的块元素,那么这个悬挂缩进只能实现(据我所知).所以在我的情况下,我把每个诗歌都写成了<p>一个类(比如说"诗行").然后我可以使用以下CSS:

.poetry-line {
    text-indent: -2em;
    margin-left: 2em;
}
Run Code Online (Sandbox Code Playgroud)

在另一个例子中,我发布的诗每隔一行都缩进,在节的两端有一些不规则.我不能用<br>每行之间的s来实现这种效果.我必须为"缩进行"创建一个新类并手动应用它.

我只是分享我的经验.我想我的建议是你为每一行使用一个块级元素,用于格式化.这可能是一个<p>,或者我猜你可以使用CSS将<span>'s'显示"设置为"阻止".在任何情况下,<br>我认为规范的行与s之间的例子不适用于大多数诗歌:每一行都需要是自己的元素.