4

当你放入<p><div></br></div></p>body 时,你会得到奇怪的 DOM 结构,如:

<p></p>
<div></br></div>
<p></p>

为什么会这样?似乎当<p>包含块元素时会发生这种情况。

4

2 回答 2

8

根据规范,p 不能有嵌套块元素,所以 HTML 解析器div在构建 DOM 之前会自动关闭它。

于 2013-08-21T07:14:53.177 回答
3

p不能容纳 adiv因为它是一个block级别元素,p只能容纳inline元素,所以你尝试的是不正确的。

您可以在您的 CSS 中使用span代替并使用display: block;or display: inline-block;,这将为您提供相同的效果,而且它是完全可以接受的,因为它p可以容纳 a span,因为它是一个inline元素。

于 2013-08-21T07:14:59.650 回答