为什么某些标签可以嵌套在其他标签中而不是相反

时间:2019-07-14 22:25:29

标签: html

前段时间我碰到一篇文章,解释了为什么某些HTML标签可以嵌套在某些标签中而有些标签却不能做到这一点。但是我忘记了在浏览器/ HTML规范中描述该设计的关键字来验证有效的HTML。我相信有两个关键字描述了这一点,但我忘了它们。有人可以帮我吗?

关键字不是结构性/表示形式。

我记得所有两个关键字都很方便记住为什么某些HTML标签可以嵌套在某些标签中,但不能嵌套在某些标签中。

例如

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

无效的HTML

谢谢

1 个答案:

答案 0 :(得分:1)

正如一条评论所暗示的,您可能正在考虑“ block ”元素(这些元素会破坏内容流,具有100%的默认宽度,并且可以包含其他元素)和“ inline” ”元素(不要中断内容流,因此它们不会创建自己的文本行,它们的宽度会根据内容调整,并且本质上不是容器)。

HTML4中提到了这一点:https://www.w3.org/TR/html401/struct/global.html#h-7.5.3

  

通常,块级元素可能包含内联   元素和其他块级元素。 (...)内联元素   只能包含数据和其他内联元素。内在的   结构上的区别是块元素创建“更大”的想法   结构比内联元素要好。(...)通常,   块级元素以换行开始,内联元素不以换行开始。

但是,HTML5规范将讨论类别:https://dev.w3.org/html5/html-author/#categories

HTML4使用了内联和块级,但HTML5表示:

  

HTML不会在其部分使用术语“ 块级”或“ 内联”   内容模型规则,以减少与CSS的混淆。

因此这些术语现在可能更适合于 CSS显示呈现机制。