前段时间我碰到一篇文章,解释了为什么某些HTML标签可以嵌套在某些标签中而有些标签却不能做到这一点。但是我忘记了在浏览器/ HTML规范中描述该设计的关键字来验证有效的HTML。我相信有两个关键字描述了这一点,但我忘了它们。有人可以帮我吗?
关键字不是结构性/表示形式。
我记得所有两个关键字都很方便记住为什么某些HTML标签可以嵌套在某些标签中,但不能嵌套在某些标签中。
例如
<p><div></div></p>
无效的HTML
谢谢
答案 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显示呈现机制。