匿名块框vs块元素

时间:2014-10-14 20:46:57

标签: html css html5 specifications

使用匿名块框代替块元素是一种好方法吗?什么是利弊?

<div>
    Some text
    <p>More text</p>
</div>

VS

<div>
    <p>Some text</p>
    <p>More text</p>
</div>

P.S。在阅读这一点http://www.w3.org/TR/CSS2/visuren.html#anonymous-block-level之后出现了这个问题。

1 个答案:

答案 0 :(得分:2)

您应该使用语义标记,这意味着使用正确描述您内容的HTML标记。查看CSS规范本身,其中说:

  

CSS为&#34; class&#34;提供了如此强大的功能。属性,作者可以设想他们自己的文档语言&#34;基于几乎没有关联呈现的元素(例如HTML中的DIV和SPAN)并通过&#34;类&#34;分配样式信息。属性。作者应该避免这种做法,因为文档语言的结构元素通常具有公认和接受的含义,而作者定义的类可能没有。

我在本文中对此进行了更多讨论:http://phrogz.net/CSS/HowToDevelopWithCSS.html#semanticmarkup

在您的特定情况下,如果您使用CSS执行类似p:first-line { text-indent:2em }的操作,则不会将其应用于您的某些文字&#34;如果您不包含包装元素。如果您添加<p>,那么适用于段落的所有样式都将正确显示。

(您可能希望使用比<div>更合适的元素,例如<section>,如果适用的话。)