關於HTML巢狀規則的思考

2021-07-26 14:06:57 字數 947 閱讀 9550

首先先羅列一下html的巢狀規則。

塊能包含塊和內聯,內聯只能包含內聯

·         塊元素可以包含內聯元素或某些塊元素,但內聯元素卻不能包含塊元素,它只能包含其它的內聯元素

標題和段落中不能包含塊

·        有幾個特殊的塊級元素只能包含內嵌元素,不能再包含塊級元素,這幾個特殊的標籤是

·        h1、

h2、h3、

h4、h5、

h6、p、

dt 塊與內聯不能並列

·        塊級元素與塊級元素並列、內嵌元素與內嵌元素並列。

注意:

1.    li是塊級元素,可以巢狀塊級元素(包括ul)。

2.    有些標籤是固定的巢狀規則,比如ul包含li、ol包含li、dl包含dt和dd等等。

3.    不可以巢狀自己,w3cschool上面有說明。

4.    這裡說明一下,雖然可以可以使用display設定block和inline,但以此來定義巢狀關係很顯然不嚴謹。(不知道搜尋引擎會不會抓取css內容?)

巢狀錯誤可能引起的問題

1.   元素開始與結束標籤巢狀錯誤,頁面可以在大部分瀏覽器被正常解析,ie9會出現解析錯誤

2.   在元素內嵌入等元素造成所有瀏覽器的解析錯誤

3.   在~元素內嵌入等元素所有瀏覽器可以解析正常

4.   在元素內嵌入元素會導致所有瀏覽器的解析錯誤(a也不可巢狀button,input等互動元素)

5.   在列表元素等插入非列表兄弟元素會導致ie6\ie7的解析錯誤

總結,雖然可以通過css樣式來達到巢狀效果,進行標籤巢狀,但是為了提高瀏覽器的渲染效率,我們應該盡少的巢狀標籤,扁平化。

HTML巢狀規則

先說基礎,html標籤有兩類 1 塊級元素 div h1 h6 address blockquote center dir dl dt dd fieldset form hr isindex menu noframes noscript ol p pre table ul 特點 總是在新行上開始,高...

HTML的巢狀規則

塊元素 block 一般用來搭建 架構 布局 承載內容 像這些大體力活都屬於塊級元素的。行元素 inline 一般用在 內容之中的某些細節或部位,用以 強調 區分樣式 上標 下標 錨點 等等。1 form表單不能直接包含input元素。原因在於input屬於行內元素,form只能包含塊元素。2 不能...

HTML 的巢狀規則

標籤是文字標籤,一般巢狀用文字。1.a標籤最好不要巢狀塊級元素,可以巢狀內聯元素,但是不能巢狀a標籤和input之類的標籤。能巢狀的標籤像,等等。2.ul和ol的子元素不能是別的元素只能是li,不能是別的比如div等,但是li中可以是div,要不然在ie6和7下回把非li解析到li的內部。這個切記沒...