匿名块框 vs 块级元素

3

使用匿名块盒子而不是块级元素是一种好的方法吗?它有哪些优缺点?

<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个回答

2
你应该使用语义标记,即使用能够正确描述内容的HTML标签。可以看一下CSS规范本身,其上写着:
“CSS赋予了‘class’属性很大的权力,因此作者可以根据几乎没有任何关联表示(如HTML中的DIV和SPAN)的元素设计自己的‘文档语言’,并通过‘class’属性分配样式信息。作者应避免这种做法,因为文档语言的结构元素通常具有被认可和接受的含义,而作者定义的类可能没有。”
我在这篇文章中讨论了更多相关内容:http://phrogz.net/CSS/HowToDevelopWithCSS.html#semanticmarkup 在你的具体情况中,如果你使用CSS来实现像p:first-line { text-indent:2em }这样的效果,如果不包括包装元素,则不会应用于你的“一些文本”。如果包括了<p>,则所有适用于段落的样式都将正常显示。
(如果适用的话)你可能希望使用比<div>更合适的元素,例如<section>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接