我正在再次阅读HTML5规范,以确定是否可以在header中嵌套一个nav元素。如果您问我,header元素的段落有点奇怪,但可能只是因为我不明白。
在本例中,页面有一个由h1元素提供的页面标题,以及两个由h2元素给出的子部分。header元素后面的内容仍然是在header元素中开始的最后一个小节的一部分,因为header元素没有参与outline算法。
<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的大纲是否仍然像一年前那样支离破碎?或者说,现在是否有一个工具或什么东西可以正确地处理它?
发布于 2014-01-12 03:12:50
所以,根据评论, 你有三个活跃的游戏: 仍然是该款的一部分。
这里的关键字是根据注释,这不是代码。从技术上讲,这一段是身体的孩子。我同意编码和注释不匹配,但代码在技术上是不正确的。评论或内容只能在一个块中存在,这是没有限制的。
这
<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。
https://stackoverflow.com/questions/19456727
复制相似问题