3

为什么要h1通过h6HTML 中的不同标签,而不是使用类似的语法<heading level="1">?我很想知道这个决定背后的历史(对于不同的列表也是如此,olul不是一个共同的列表)。

到目前为止,我的研究还没有任何结果。W3C 规范实际上将它们全部归为“标题”,共同描述它们。以前有人在 Stack Overflow 上问过类似的问题,但讨论是关于语义的价值,而不是这种特定语言设计选择的推理。

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

编辑 2:这个问题可以引起很多意见,但存在一个事实答案,它是由 Jukka 在下面的评论中发现的:http: //infomesh.net/html/history/early/。我认为这个讨论的观点部分是在 HTML 最初创建时就有的,并且正在寻找而不是试图重新讨论那个争论。

4

2 回答 2

7

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

因为这就是它们在 1993 年最初定义的方式

标题

   支持六级标题。(注意一个超文本节点
   在超文本作品中需要的标题层次往往比
   唯一结构由标题嵌套给出的作品。)

   一个标题元素意味着所有的字体变化,分节符
   之前和之后,以及渲染所需的空白(例如)
   标题。进一步的字符强调或段落标记不是
   在 HTML 中是必需的。

   H1 是最高级别的航向,推荐用于
   超文本节点的开始。建议将正文
   第一个标题适合已经在浏览的读者
   在相关信息中,与标题标签相反
   在更广泛的上下文中识别节点。

   标题元素是

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

您还必须意识到原始 HTML 规范中的属性使用最少。每个元素都有一个特定的目的来标记文档,重点是易于编写和易于阅读。我只能假设这样的标签<heading>会被完全拒绝,因为它会太长而无法输入,并且会妨碍页面的内容。

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

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

于 2013-08-15T23:14:47.303 回答
1

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

这样就有一个包含默认 CSS 属性的标签,您只需通过标签提及标题即可对其进行自定义。

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

子编辑:如果 SEO 对 W3C 很重要(我相信它确实如此,否则我们可能不会对meta标签有那么多的支持),那么他们可能不会故意做出改变来减少搜索引擎的功能高效的。因此,如果他们关心 SEO,我希望它会对他们对语法的决定产生影响。

于 2013-08-15T22:55:53.940 回答