我刚刚再次阅读 HTML5 规范,以了解是否可以nav
在header
. header
如果你问我,元素的段落有点奇怪,但可能只是因为我不明白。
在这个例子中,页面有一个由 h1 元素给出的页面标题,以及两个标题由 h2 元素给出的小节。header 元素之后的内容仍然是在 header 元素中开始的最后一个小节的一部分,因为 header 元素不参与大纲算法。
<body>
<header>
<h1>Little Green Guys With Guns</h1>
<nav>
<ul>
<li><a href="/games">Games</a>
<li><a href="/forum">Forum</a>
<li><a href="/download">Download</a>
</ul>
</nav>
<h2>Important News</h2> <!-- this starts a second subsection -->
<!-- this is part of the subsection entitled "Important News" -->
<p>To play today's games you will need to update your client.</p>
<h2>Games</h2> <!-- this starts a third subsection -->
</header>
<p>You have three active games:</p>
<!-- this is still part of the subsection entitled "Games" -->
...
来源:http ://www.w3.org/TR/html5/sections.html#the-header-element
因此,根据评论,<p>You have three active games:</p>
仍然是在标题内部开始的小节的一部分,因为标题本身并没有引入新的部分。
但这不会破坏 HTML 所基于的嵌套结构吗?例如,这是无效的标记,因为嵌套错误:
<div>
<p>
</div>
</p>
但是如果我定义——理论上——div不做任何事情,那会好吗?
请不要误会我的意思,这不是咆哮什么的,我只是试着理解这背后的意义是什么?此外,如果标题元素不是分节元素,为什么它会列在节下?
顺便说一句,HTML5 的大纲是否仍然像大约一年前那样破碎?或者现在是否有工具或东西可以正确处理它?