我在我的元素检查器(chrome 和 firebug)中注意到,html 的解析方式与我原本打算解析的方式不同。一些元素最终超出了它们的父元素,这通常来自损坏的 html(未闭合的标签等)。我将代码放入 W3C 验证器并将 html 缩小到几行。
我的 HTML 看起来像:
<html lang="en">
<head>
<title>title because we must</title>
<meta charset="utf-8"/>
</head>
<body>
<p>
<div>test</div>
</p>
</body>
</html>
我得到的错误是
第 10 行,第 6 列:范围内没有 p 元素,但看到了 ap 结束标记。
由于 HTML5 验证器仍处于试验阶段,我想我也应该尝试 XHTML 1.1 验证器。然后它提到我可能正在尝试将块元素放在内联元素中。这不应该是这种情况,因为默认情况下“p”和“div”都是块元素。
谁能解释这种行为?