这篇文章" Avoiding common HTML5 mistakes"在HTML5Doctor上说:
如果您的元素只包含一个标题元素,请忽略
<header>
。
根据文章,这是不好的做法:
<article>
<header>
<h1>Heading</h1>
</header>
<p>Content …</p>
</article>
w3c说:
标题元素旨在通常包含标题( h1-h6元素或hgroup元素) ,但这不是必需的。标题元素也可以用于包装部分的目录,搜索表单或任何相关徽标。
现在我很困惑。规范明确指出,它通常只有一个标题。它还可以容纳其他内容。但没有一个是强制性的。
所以在我看来,上面的代码绝对有效且语义正确。
我想象一种情况,<header>
- 元素的内容来自CMS,它可能会导致一个完整的标题或只是一个标题。在这种情况下,您必须始终检查元素的内容并相应地添加包装器。似乎不值得努力,对吗?
也许我会忽略一些事情而有人可以推理我,为什么这是不好的做法。
答案 0 :(得分:0)
重要:您引用的文章已过时且已过时。例如,hgroup
在一年前从HTML5规范中删除。理想情况下,您应该尝试查找更新的资源。
那就是说,因为你里面只包含一个元素,所以你的header
包装器根本就不需要。您可以完全删除它并将样式直接应用到h1
元素上以达到同样的效果:
<article>
<h1>Heading</h1>
<p>Content …</p>
</article>