我刚刚再次阅读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概述是否仍然像大约一年前一样破碎?或者是否有工具或其他东西可以正确处理它?</ p>
答案 0 :(得分:0)
所以,根据评论,
你有三个活跃的游戏:
是 仍然是该小节的一部分。
这里的关键字是根据评论,而不是代码。从技术上讲,该段是身体的一个孩子。我同意编码和注释不匹配,但代码在技术上并不正确。并且没有限制,评论或内容只能存在于一个块中。
此
<div>
<p>
</div>
</p>
在技术上是不正确的,如果我添加一些CSS,你可以更清楚地看到。
div { height:100px; width:auto; }
p {display:block; height:50px; width:300px}
鉴于CSS上面的代码看起来是什么样的?
兼容的浏览器可能会将上述代码重写为
<div>
<p></p>
</div>
<p></p>
在浏览器引擎重写之后,可以呈现HTML和CSS。