若是不按照HTML规则书写代码时,浏览器就不会正确解析,会将不符合嵌套规则的节点放到目标节点的下面,或者变成纯文本。HTML存在许多种类型的标签,有的标签下面只容许特定的标签存在,这就是HTML嵌套规则。浏览器
块状元素:通常是其余元素的容器,可容纳内联元素和其余块状元素,块状元素排斥其余元素与其位于同一行,宽度(width)高度(height)起做用。spa
div、p、address、blockquote、center、dir、dl、dt、dd、fieldset、form、h1~h6、hr、isindex、menu、noframes、noscript、ol、pre、table、ulcode
内联元素(行内元素):内联元素只能容纳文本或者其余内联元素,它容许其余内联元素与其位于同一行,但宽度(width)高度(height)不起做用。orm
a、img、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、input、kbd、label、q、s、samp、select、small、span、strike、strong、sub、sup、tt、u、var、textareaip
块状元素与内联(行内)元素的嵌套规则ci
一、块状元素可包含内联元素或某些块元素,但内联元素不可包含块元素,只能包含内联元素。input
<div><h1></h1><p></p></div> 正确it
<a href="#"><span></span></a> 正确table
<span><div></div></span> 错误form
二、块级元素不能放在<p>里面
<p><ol><li></li></ol></p> 错误
<p><div></div></p> 错误
三、有几个特殊块级元素只能包含内联元素,不能包含块级元素。这几个特殊标签是 h1~h六、p、dt
四、li 内可包含 div 标签
<li><div></div></li>
五、块级元素与块级元素并列、内联元素与内联元素并列
<div><h2></h2><p></p></div> 正确
<div><a href="#"></a><span></span></div> 正确
<div><h2></h2><span></span></div> 错误