HTML5中<div>标签内的<Header>标签

12

请问,在设计一个大多使用 html5 元素且文档类型为 html5 的网站时,是否将 <header> 标签放在 <div> 标签内是不好的做法?谢谢!

此外,我应该将 <nav> 放在 header 外还是里面呢,或者这真的无关紧要吗?

3个回答

2
我不认为这是一种不好的做法。但是,请确保您将其放置在应该放置的一般区域。
这里有一个链接,可能会帮助您了解标题的位置。

2
不需要,只要您尊重内容语义并且头部包含标题信息,您可以将其放在div中,不会对SEO产生任何不利影响。

1
不是严格的,但是将
嵌套在身体以外的元素下会暗示一些上下文语义。根据文档结构的组织方式,您可能会遇到意外的行为。如下所示。
据我所知,HTML5是一种没有DTD的文档类型。这并不适用于文档结构验证的严格规则。根据W3C关于HTML5的文件,header元素:

...代表最近祖先节段内容或节段根元素的简介内容。标题通常包含一组导航辅助工具。[1]

基本上,这似乎表明,如果
元素直接位于文档的下,则适用于整个页面,但如果包含在标识部分的另一个元素下,则
更特定地适用于最近的祖先。
请记住,正如Tomasz Zielinski所指出的那样,<div>不是一个分区元素。最初我认为它是。如果您想使标题仅适用于页面的特定部分,则最好使用已定义的分区元素来包含标题,如此处所定义: http://www.w3.org/TR/html5/sections.html 例如:
<div>
  <section>
    <header>...</header>
  </section>
</div>

感谢@sean,另外,将<nav>放在标题内是否是不好的做法?还是应该将其放在标题下方?我应该将这些链接放在HTML页面的左侧,你觉得呢? - crsMC
1
<nav>放置在标题内似乎是W3C的自然和可接受的做法,请查看此处的最后一个示例:http://www.w3.org/wiki/HTML/Elements/header - Sean Quinn
-1,div既不是分区内容也不是分区根。 - Tomasz Zieliński

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接