为什么<p>标签里面不能包含<div>标签?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

据我所知,这是正确的:

<div>
  <p>some words</p>
</div>

但这是错误的:

<p>
    <div>some words</div>
</p>

为什么?

提问于
用户回答回答于

参见http://www.w3.org/TR/html4/sgml/dtd.html

它指定哪些元素是块元素,哪些是内联的。对于这些列表,搜索标记为“HTML内容模型”的部分。

对于P元素,它指定了以下内容,这表示P元素只允许包含内联元素。

<!ELEMENT P - O (%inline;)*            -- paragraph -->

这与http://www.w3.org/TR/html401/struct/text.html#h-9.3.1一致,该说明P元素“不能包含块级元素”。

用户回答回答于

简而言之,不可能在DOM中放置一个<div>元素<p>,因为开始<div>标签会自动关闭该<p>元素。

扫码关注云+社区