在技术实现上,HTML5标签(article、section、aside、header、footer)与div一样吗?

3
我知道这些标签有不同的语义含义,比如 article 用于独立的故事; section 用于页面上的自包含部分…
它们在很多方面都是好的和有用的标记。但是,它们只是语法糖吗?因为我没有看到它们之间有任何样式差异。如果没有应用任何CSS规则,它们就像 div 一样。
希望一些Webkit / Gecko专家可以在代码层面上澄清这一点。
2个回答

1
大多数情况下是的。它们实际上不是div,而是块级元素(微妙但不同)。

http://diveintohtml5.info/semantics.html#new-elements

HTML5中定义了几个新的块级元素。也就是说,它们可以包含其他块级元素,并且符合HTML5标准的浏览器将默认将它们样式化为display:block。
所以,是的,目前它们只是用来缩短您的代码长度和创建更清晰的标记,但这就是块级元素的作用。如果您从

标签中删除默认样式,那不就像一个

吗?

1
我没有看到它们之间的任何样式差异。如果没有应用任何CSS规则,它们就像div一样。
每个浏览器都有自己的本地样式表,适用于页面内容。这就是为什么我们通常使用CSS重置样式表-在不同的浏览器样式表之间进行标准化。样式和内容是两个完全独立的事物,某些东西看起来像什么与其本质无关,因此您不应该根据您想要的外观来标记您的页面。
也许有一天,浏览器会向某些HTML5元素添加默认样式,例如在
上添加一些填充,但这并不重要(实际上也不太可能)。
它们只是语法糖吗?
一点也不是。虽然看起来可能没有太大的区别,但它可以使您的内容以更有意义的方式被屏幕阅读器或搜索引擎理解。

正如Grillz的回答所提到的,这些元素都是块级元素,因此在这方面 - 它们基本上像div一样呈现,但具有语义价值,不应作为通用容器元素使用。


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