1.什么是html嵌套规则?
我们在编写代码时,如果不按照html规则,浏览器是不会正确解析代码的,浏览器会将不符合嵌套规则的节点放到目标节点的下面,或者变成纯文本。HTML存在许多种类型的标签,有的标签下面只允许特定的标签存在,这就是规则。
2.块级元素
一般是其他元素的容器,可容纳行内元素和其他块级元素,块级元素排斥其他元素与其位于同一行(因为块级元素独占一行),宽度(width)高度(height)起作用。
常见的块级元素:div p h1~h6 ul ol dl li dd table hr H5新增的:header section footer aside nav...
3.行内元素
行内元素只能容纳文本或者其他行内元素,它允许其他行内元素与其位于同一行(行内元素不独占一行),但设置宽度(width)高度(height)不起作用。
常见的行内元素:span img a lable input em i select small sub strong button...
4.嵌套规则
①块级元素可包含行内元素或某些块元素,但行内元素不可包含块元素,只能包含行内元素。
eg:
<div><h1></h1><p></p></div> 正确
<a href="#"><span></span></a> 正确
<span><div></div></span> 错误
②块级元素不能放在<p>里面
eg:
<p><ol><li></li></ol></p> 错误
<p><div></div></p> 错误
③有几个特殊块级元素只能包含行内元素,不能包含块级元素。
特殊标签是 h1~h6、p、dt
④li 内可包含 div 标签
eg: <li><div></div></li>
⑤块级元素与块级元素并列、行内元素与行内元素并列
eg:
<div><h2></h2><p></p></div> 正确
<div><a href="#"></a><span></span></div> 正确
<div><h2></h2><span></span></div> 错误