为什么HTML中的h1-h6标签名称不同?

时间:2013-08-15 22:48:13

标签: html history

为什么h1通过h6 HTML中的不同标记,而不是像<heading level="1">这样的语法?我有兴趣知道决定背后的历史(对于不同的列表olul而不是常见列表也是如此。)

到目前为止,我的研究还没有改变。 W3C Spec实际上将它们全部归为“标题”,共同描述它们。有人在Stack Overflow once before上提出了类似的问题,但是这个讨论是关于语义的价值而不是这种特定语言设计选择的推理。

编辑:我不是在询问其中一个的SEO影响,我正在寻找有关为什么HTML的创建者选择了他们所做的语法的答案。

编辑2:这个问题可以引出很多意见,但存在一个事实答案,Jukka在下面的评论中找到了它:http://infomesh.net/html/history/early/。我认为这个讨论的一部分是在HTML首次创建时得到的,并且正在寻找而不是试图重新讨论这个争论。

2 个答案:

答案 0 :(得分:7)

  

为什么h1到h6中的HTML标签不同,而不是像<heading level="1">这样的语法?

Because that's how they were originally defined in 1993

Headings

   Six levels  of heading are supported. (Note that a hypertext node
   within a hypertext work tends to need less levels of  heading than
   a work whose only structure is given by the nesting of headings.)

   A heading element implies all the font changes, paragraph breaks
   before and after, and white space (for example) necessary to render
   the heading. Further character emphasis or paragraph marks are not
   required in HTML.

   H1 is the highest level of heading, and is recommended for the
   start of a hypertext node.   It is suggested that the the text of
   the first heading be suitable for a reader who is already browsing
   in related information, in contrast to the title tag which should
   identify the node in a wider context.

   The heading elements are

                <H1>, <H2>, <H3>, <H4>, <H5>, <H6>

您还必须意识到原始HTML规范中的属性使用最少。每个元素都用于标记文档,强调易于编写和易于阅读。我只能假设<heading>行的标记会被拒绝,因为输入的时间太长,会妨碍页面的内容。

该用法早于任何外部样式表的概念,因此选择器在决定命名约定时不能发挥任何作用。

一旦定义了元素,就没有理由重命名它们,因为它会导致向后兼容性问题。

答案 1 :(得分:1)

我能找到的第一个解释是它为您提供了一组默认的标签,可以使用CSS轻松定制。否则,除了您提到的class属性之外,您还需要使用level属性自定义不同级别的标头。

这种方式有一个包含默认CSS属性的标记,您只需要通过标记提及标题以进行自定义。

修改 我也意识到你链接到的帖子有另一个很好的理由:专用标题标签使SEO变得更容易。我认为搜索引擎寻找某些标签的存在比解释属性更容易。

子编辑:如果SEO对W3C很重要(我确信它确实如此,否则我们可能不会对meta标签提供那么多支持),那么他们可能不会故意进行更改使搜索引擎的功能效率降低。因此,如果他们关心SEO,我希望它会影响他们对语法的决定。