为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

长风秋雁 2019-09-03 16:46:42
我通常不会这样筑巢<p>:<p>The following:    <p>one</p>    <p>two</p></p>我将使用<div>相反的方式嵌套。但是今天我用过<p>但似乎Emacs和谷歌Chrome都会在<p>看到新<p>的开始时就考虑外部关闭。(这DOCTYPE是HTML 4.01严格)。我认为<p>只不过是一个<div>预先定义的边距和填充,但它是否真的<p>不能嵌套?如果是这样,什么规则说它不能?
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

因为段落是一个段落..这就是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自动关闭 ..


查看完整回答
反对 回复 2019-09-03
?
倚天杖

TA贡献1828条经验 获得超3个赞

从HTML 4.01规范第9.3.1节


P元素代表一个段落。它不能包含块级元素(包括P本身)。


查看完整回答
反对 回复 2019-09-03
?
森林海

TA贡献2011条经验 获得超2个赞

<p>不是遗产,它定义了语义意图 - 毫不奇怪,一个段落。如果<p>被定义为遗产,那么我们也应该摆脱<hX>元素..毕竟,它们可以用<div>... 表示

查看完整回答
反对 回复 2019-09-03
  • 3 回答
  • 0 关注
  • 852 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信