标题内的标题? (HTML5)

时间:2013-05-14 14:55:17

标签: html5

这对我来说很奇怪,但奇怪的是有理由在<header>内使用<header>

使用<hgroup> remove from the spec我似乎处于一种奇怪的状态,我应该/可能会使用下面的一些代码。

<header>
    <header>
        <h1>Maecenas faucibus</h1>
        <p class="h1-sub">Donec sed odio dui.</p>
    </header>
    <section>
        <img src="..." alt="faucibus">
        <img src="..." alt="faucibus">
        <img src="..." alt="faucibus">
    </section>
</header>

这一切都出现在<article>的标题部分中,所以我想知道它是否在视觉上出现在那里我应该仍然将其定义为<header>或者我应该将其全部包含在以下内容中:

<section class="article-header">
    <header><h1>...</h1><p>...</p></header>
    <section>...</section>
</section>

我没有遇到任何说<header>无法嵌入其中的内容,并且想知道这是否是同一个调用,如果它具有逻辑意义,您可以将<article>嵌套在自身中(因此,如果将某些事物组合在一起是有意义的,但仍然可以自行完成)。

2 个答案:

答案 0 :(得分:3)

根据HTML5 specification无效在另一个<header>元素中包含<header>元素。

这很有意思,因为<header>允许的内容在技术上确实允许它:

  

允许的内容->流内容->流元素->标题

但是,有一些特定于<header>元素的约束 - 它们包括:

  
      
  • 标题元素不得显示为页脚的后代   元件。

  •   
  • 标题元素不得作为地址的后代出现   元件。

  •   
  • 标题元素不得作为标题元素的后代出现。

  •   

因此它是有效标记 - 无论是作为直接子元素还是作为后代元素。

答案 1 :(得分:2)

查看刚刚发布的HTML5规范的链接(http://www.w3.org/TR/html-markup/header.html),它说..

“标题元素不得作为标题元素的后代出现。”

因此,根据规范,它包含流内容,但不包括页眉,页脚或主要元素。