元素包含关系
以前:块级元素可以包含行级元素,行级元素不可以包含块级元素,a元素除外。
如果面试的时候,面试官问行级元素和块级元素的区别,虽然行级块级元素的说法已弃用,可能面试官还不知道这一点。
所以应该先按行级块级元素的说法解释:1. 块级元素独占一行,行级元素不换行;2. 块级元素可以包含行级元素,行级元素不可以包含块级元素,a元素除外。
再和面试官说行级块级元素的说法在HTML5中已经弃用了,元素是否独占一行又CSS属性决定,且元素包含关系由元素内容类别决定。
现在:元素的包含关系由元素的内容类别决定。
具体包含关系可以在MDN中查找。
总结:
-
容器元素可以包含任何元素
-
a元素中几乎可以包含任何元素
-
某些元素有固定的子元素(ul/ol>li, dl>dt+dd)
-
标题元素和段落元素不能相互嵌套,并且不能包含容器元素