HTML5:可以两次使用header或footer标签吗?

101

快速问题:可以使用两个 header 标签吗?例如,在我的 header.php 中有两个重要的头部部分,两个都可以使用 header 标签吗?

6个回答

113
是的,但有个小细节需要注意。W3文档规定这些标签代表其最近祖先部分的页眉和页脚区域。我建议您可以根据需要使用多个标签,但每个"section"(例如body、section等)只需要一个即可。
以下是W3的相关内容:
元素通常包含部分标题(h1-h6元素或hgroup元素),但不强制要求。此外,可以使用
元素包装某些部分的目录、搜索表单或任何相关 logo 等。
元素表示其最近祖先分段内容或分段根元素的页脚。页脚通常包含与该部分有关的信息,例如作者信息、相关文档链接、版权数据等。
以下是它们各自标准文档的链接: headerfooter。请注意保留HTML标记。

4
我不同意你的观点。在一个节段内容/根元素中有多个 header 元素仍然是有效的(并且也有意义)。 - unor
嵌套的章节和(因此)章节中的嵌套标题怎么样?

...

...

- Cyril Duchon-Doris
@Cyril Duchon-Doris,一个<header>元素不能是另一个<header>元素的后代。 "允许的父级元素:任何接受流内容的元素。请注意,<header>元素不得是<address><footer>或另一个<header>元素的后代。" - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header - Daniel Tonon
2
FYI,有5种“分节”元素:<body><nav><section><article><aside>。每个分节元素只能有一个与之关联的<header>和一个<footer>。一个分节拥有多个头部或脚注是没有意义的。 - Daniel Tonon
2
@DanielTonon 1. 根据 这个页面<body> 不是一个区块元素。2. 除非有明确的文档规定每个区块元素只能有一个 <header> 和一个 <footer>,否则那仅仅是你的个人观点,请不要宣称它是规则。 - funct7
好的,是的,<body>不是“分区元素”,但它确实形成了默认文档部分,并被归类为“分区根”元素,这使它在行为上非常类似于分区元素。当我说它“是”分区元素时,我确实说错了。 - Daniel Tonon

17

是的,您可以在文档中使用多个header元素,根据W3C文档:

header元素通常包含该部分的标题(h1-h6元素或hgroup元素),但不是必需的。header元素还可用于包装章节的目录、搜索表单或任何相关的标志。

但请确保它在语义上是正确的。


4

使用两个标题标签不会受到惩罚,但确保它有意义。

愉快的编码!


2
在某些情况下,可以在单个<article>/<section>中放置两个<header>,就像这样,所以为什么不呢。
 <article>

      <!-- Feature Image on the LEFT -->
      <div class="position-left">
         ...featrue image...
        <header>
        ...H1 title ...  
        </header>
      </div>

      <!-- Content on the RIGHT with subtitle, date, etc -->
      <div class="position-right">
        <header>
          ..date, sub-title, etc...
        </header>
        ...content...
        <footer>..</footer>
      </div>

    </article>

1
为什么你不把这些<div>变成<article>或者<section>呢? - Volper

2

<header> 标签用于标记报纸中文章的标题,如果您有多篇文章,可以使用多个 <header> 标签。

它类似于使用多个 <h1>。它只在某些特殊情况下才有意义。


-3

您可以在文档中放置两个<header>标签,当然。 从语义上讲,这是不正确的。为什么不使用一个<header>标签并在其中使用不同的标签呢?


2
如果我这样做,标题将包含所有我的部分,>> 我认为这不是我们想要的... ;) 您可以针对每个部分拥有一个页眉和页脚。 - user1855153

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