【问题标题】:HTML Header SemanticsHTML 标头语义
【发布时间】: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>

我的主要疑惑是你在部分内使用h1h2。如果我理解正确的示例 1 在语义上更正确,因为(至少在 chrome 中)原始 html 将以节标题较小的方式设置样式。但是,之前我使用了示例 2 中的方法,并且在第一年的课堂上我从未被告知这是不正确的。

因为我在这个练习中被按语义评分,并且因为我需要满足我的好奇心,所以我很想知道哪个更正确。

【问题讨论】:

  • 这个问题没有明确的答案,所以我不得不投票将其关闭为“主要基于意见”。 HTML5 specification specifically states:“h1–h6 元素不得用于标记副标题、副标题、替代标题和标语,除非打算作为新部分或小部分的标题。” - 这意味着您没有理由不能使用无限数量的 h1 元素,只要它们表示页面上的新部分。
  • html5doctor.com/outlines 可能值得一读。不过,自 2014 年以来,情况可能发生了一些变化,但当时 IIRC 的情况仍在不断变化。
  • 谢谢詹姆斯。我犹豫是否要发布这个问题,因为我认为可能是这种情况。我觉得值得一问,所以我不会冒着通过这个练习失去成绩的风险。我会通过昆汀来读一读。
  • 我在 W3C 上找到了这句话:“部分可能包含与其部分嵌套级别相同的标题。作者应该为部分的嵌套级别使用适当级别的标题。”后跟示例 2 样式中的“正确”示例。现在我将继续使用它。考虑关闭这个问题,因为我相信它是基于意见的。

标签: html semantics


【解决方案1】:

来源:http://w3c.github.io/html/sections.html#headings-and-sections

“章节可能包含与其章节嵌套级别相同级别的标题。作者应该为章节的嵌套级别使用适当等级的标题。”

示例 2 似乎是 W3C 建议在引用之后的以下示例中使用的内容。

这可能都是基于意见,所以我用这些信息来结束这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2011-03-04
    • 2013-03-21
    • 2015-10-11
    相关资源
    最近更新 更多