行內元素和塊狀元素巢狀規則
如果不按照HTML規則書寫程式碼時,瀏覽器就不會正確解析,會將不符合巢狀規則的節點放到目標節點的下面,或者變成純文字。HTML存在許多種型別的標籤,有的標籤下面只允許特定的標籤存在,這就是HTML巢狀規則。
塊狀元素:一般是其他元素的容器,可容納內聯元素和其他塊狀元素,塊狀元素排斥其他元素與其位於同一行,寬度(width)高度(height)起作用。
div、p、address、blockquote、center、dir、dl、dt、dd、fieldset、form、h1~h6、hr、isindex、menu、noframes、noscript、ol、pre、table、ul
內聯元素(行內元素):內聯元素只能容納文字或者其他內聯元素,它允許其他內聯元素與其位於同一行,但寬度(width)高度(height)不起作用。
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、textarea
塊狀元素與內聯(行內)元素的巢狀規則
1、塊狀元素可包含內聯元素或某些塊元素,但內聯元素不可包含塊元素,只能包含內聯元素。
<div><h1></h1><p></p></div> 正確
<a href="#"><span></span></a> 正確
<span><div></div></span> 錯誤
2、塊級元素不能放在<p>裡面
<p><ol><li></li></ol></p> 錯誤
<p><div></div></p> 錯誤
3、有幾個特殊塊級元素只能包含內聯元素,不能包含塊級元素。這幾個特殊標籤是 h1~h6、p、dt
4、li 內可包含 div 標籤
<li><div></div></li>
5、塊級元素與塊級元素並列、內聯元素與內聯元素並列
<div><h2></h2><p></p></div> 正確
<div><a href="#"></a><span></span></div> 正確
<div><h2></h2><span></span></div> 錯誤