我理解所有这些标签都有不同的语义含义,就像article
是一个独立的故事; section
用于页面的自包含部分...
它们在许多方面都是优秀且有用的标签。但是,他们只是语法糖吗?因为我没有看到他们之间的任何风格差异。如果没有任何CSS规则应用,它们就像div
一样。
希望一些webkit / gecko专家能够在代码级别上澄清它。
答案 0 :(得分:1)
大多数情况下是的。它们实际上不是div,而是块级元素(微妙但不同)。
http://diveintohtml5.info/semantics.html#new-elements
HTML5中定义了几个新元素,它们是块级元素。也就是说,它们可以包含其他块级元素,并且符合HTML5的浏览器将它们设置为display:block默认为。
所以是的,现在他们只是为了缩短代码长度并创建更清晰的标记,但这就是块级元素的作用。如果您从<p>
代码中删除默认样式,那不就像<div>
一样吗?
答案 1 :(得分:1)
我没有看到他们之间有任何风格差异。如果没有任何CSS规则应用,它们就像div一样。
每个浏览器都有自己的原生样式表,应用于页面内容。这就是我们通常使用CSS重置样式表的原因 - 规范化不同浏览器样式表之间的所有内容。样式和内容是两个完全不同的东西,看起来像什么与 的内容无关,因此你不应该根据你想要的方式标记你的页面出现。
有一天,浏览器可能会将默认样式添加到某些HTML5元素中,例如<section>
上的某些填充,但它无关紧要(实际上不太可能)。
它们只是语法糖吗?
完全没有。虽然似乎没有太大区别,但它允许您以更有意义的方式理解您的内容,例如屏幕阅读器或搜索引擎。
正如Grillz's answer所提到的,所讨论的元素都是块级元素,因此在这方面 - 它们基本上呈现为div
s,但具有语义值,并不打算使用作为通用容器元素。