在引擎盖下,HTML5标签(文章,部分,旁边,页眉,页脚)是否像div一样实现?

时间:2011-12-27 12:53:30

标签: html5 webkit gecko

我理解所有这些标签都有不同的语义含义,就像article是一个独立的故事; section用于页面的自包含部分...

它们在许多方面都是优秀且有用的标签。但是,他们只是语法糖吗?因为我没有看到他们之间的任何风格差异。如果没有任何CSS规则应用,它们就像div一样。

希望一些webkit / gecko专家能够在代码级别上澄清它。

2 个答案:

答案 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,但具有语义值,并不打算使用作为通用容器元素。