【发布时间】:2017-02-13 21:58:39
【问题描述】:
作为我大学课程的一部分,我正在做一个 HTML 语义练习,我最终对标题应该以哪种方式布局感到好奇。举两个例子:
示例 1:
<main>
<header>
<h1>Main Header</h1>
</header>
<section>
<header>
<h1>Section Header</h1>
</header>
<p>Some content</p>
</section>
</main>
示例 2:
<main>
<header>
<h1>Main Header</h1>
</header>
<section>
<header>
<h2>Section Header</h2>
</header>
<p>Content here</p>
</section>
</main>
我的主要疑惑是你在部分内使用h1 或h2。如果我理解正确的示例 1 在语义上更正确,因为(至少在 chrome 中)原始 html 将以节标题较小的方式设置样式。但是,之前我使用了示例 2 中的方法,并且在第一年的课堂上我从未被告知这是不正确的。
因为我在这个练习中被按语义评分,并且因为我需要满足我的好奇心,所以我很想知道哪个更正确。
【问题讨论】:
-
这个问题没有明确的答案,所以我不得不投票将其关闭为“主要基于意见”。 HTML5 specification specifically states:“h1–h6 元素不得用于标记副标题、副标题、替代标题和标语,除非打算作为新部分或小部分的标题。” - 这意味着您没有理由不能使用无限数量的
h1元素,只要它们表示页面上的新部分。 -
html5doctor.com/outlines 可能值得一读。不过,自 2014 年以来,情况可能发生了一些变化,但当时 IIRC 的情况仍在不断变化。
-
谢谢詹姆斯。我犹豫是否要发布这个问题,因为我认为可能是这种情况。我觉得值得一问,所以我不会冒着通过这个练习失去成绩的风险。我会通过昆汀来读一读。
-
我在 W3C 上找到了这句话:“部分可能包含与其部分嵌套级别相同的标题。作者应该为部分的嵌套级别使用适当级别的标题。”后跟示例 2 样式中的“正确”示例。现在我将继续使用它。考虑关闭这个问题,因为我相信它是基于意见的。