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