猿问

嵌套<div>将嵌套<p>不起作用?

我通常不会这样筑巢<p>:


<p>The following:

    <p>one</p>

    <p>two</p>

</p>

我将使用<div>相反的方式嵌套。但是今天我用过<p>但似乎Emacs和谷歌Chrome都会在<p>看到新<p>的开始时就考虑外部关闭。(这DOCTYPE是HTML 4.01严格)。


我认为<p>只不过是一个<div>预先定义的边距和填充,但它是否真的<p>不能嵌套?如果是这样,什么规则说它不能?


长风秋雁
浏览 886回答 3
3回答

隔江千里

因为段落是一个段落..这就是HTML的定义方式(HTML 不是 XML)。任何<p>(或其他块级元素)将隐式关闭任何打开<p>。每9.3.1段落: HTML 4.01规范的P元素:P元素代表一个段落。它不能包含块级元素(包括P本身)。请注意,这就是解析HTML的方式,甚至<div>可以隐式关闭段落!然而,<span>与display:block;将不关闭了<p>作为<span>是不是一个块级元素。也就是说,CSS是不相关的,在这个阶段的HTML处理和CSS是不相关的确定,如果一个元素是一个块级元素或不时对DOM /解析器。考虑动态应用CSS或通过尚未加载的样式表应用CSS的情况:应用的CSS不会改变DOM。虽然HTML5(工作草案)规范不包含HTML4规范中的上述语言,但它确实将段落定义为用于分阶段内容的容器,并且还有一个关于段落的部分。可以嵌套在P元素中的HTML5元素列表的已接受答案?说<p>元素不能嵌套在HTML5中。文件中的关键短语是:“措词内容的运行[不包括<p>元素]形成段落”。此外,HTML5试图在许多方面向后兼容,它具有“对内容模型和属性值的限制”的基本原理:某些元素以某种古怪的方式进行解析(通常是出于历史原因),其内容模型限制旨在避免将作者暴露给这些问题。从流内容的HTML5 WG wiki条目引用此行为:HTML5对p元素嵌套和p元素可能包含的限制是由于引用:“解析器的特性” 导致p自动关闭 ..

倚天杖

从HTML 4.01规范第9.3.1节P元素代表一个段落。它不能包含块级元素(包括P本身)。

森林海

<p>它不是遗产,它定义了语义意图&nbsp;- 毫不奇怪,一个段落。如果<p>被定义为遗产,那么我们也应该摆脱<hX>元素..毕竟,它们可以用<div>...&nbsp;表示
随时随地看视频慕课网APP
我要回答