0

HTML5Doctor 上的这篇文章“避免常见的 HTML5 错误”说:

如果您的元素仅包含一个标题元素,请省略<header>.

根据文章,这是不好的做法:

<article>
    <header>  
        <h1>Heading</h1>
    </header>

    <p>Content …&lt;/p>
</article>

w3c说:

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

现在我很困惑。规范明确指出,它通常包含一个标题。它还可以容纳其他内容。但没有一个是强制性的。

所以在我看来,上面的代码是绝对有效的并且在语义上是正确的。

我想象这样一种情况,即<header>-element 的内容来自 CMS,它可能导致完整的标题或单个标题。在这种情况下,您必须始终检查元素的内容并相应地添加包装器。似乎不值得努力,对吧?

也许我忽略了一些东西,有人可以解释我,为什么这是不好的做法。

4

1 回答 1

0

重要提示:您引用的文章已经过时。hgroup例如,一年多前从 HTML5 规范中删除了。理想情况下,您应该尝试找到更多更新的资源。


也就是说,由于其中仅包含一个元素,因此header根本不需要您的包装器。您可以完全放弃它并将您的样式直接应用到您的h1元素上以达到相同的效果:

<article>
    <h1>Heading</h1>
    <p>Content …&lt;/p>
</article>
于 2014-08-19T10:25:47.363 回答