若是不按照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> 錯誤