这对我来说很奇怪,但奇怪的是有理由在<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>
嵌套在自身中(因此,如果将某些事物组合在一起是有意义的,但仍然可以自行完成)。
答案 0 :(得分:3)
根据HTML5 specification,无效在另一个<header>
元素中包含<header>
元素。
这很有意思,因为<header>
允许的内容在技术上确实允许它:
允许的内容
->
流内容->
流元素->
标题
但是,有一些特定于<header>
元素的约束 - 它们包括:
标题元素不得显示为页脚的后代 元件。
标题元素不得作为地址的后代出现 元件。
标题元素不得作为标题元素的后代出现。
因此它是不有效标记 - 无论是作为直接子元素还是作为后代元素。
答案 1 :(得分:2)
查看刚刚发布的HTML5规范的链接(http://www.w3.org/TR/html-markup/header.html),它说..
“标题元素不得作为标题元素的后代出现。”
因此,根据规范,它包含流内容,但不包括页眉,页脚或主要元素。