html標籤的巢狀規則

2021-10-08 09:25:18 字數 966 閱讀 5371

我突然發現我學習了這麼長時間的html,竟然在今天才發現這個規則,只恨自己太不認真了。事實上因為我在做jquery的:hover的練習的事後發現的,因為我發現p標籤在巢狀的時候出現了和詭異的情形,我昨晚請教了做了php一年的室友,結果這個問題困擾了我們很長時間,給我倆氣的直接睡覺去了。可見做了web一年的程式設計師都沒有知道這個規則,這個規則是有被人多麼的不重視,但是我感覺還是有必要學習的。下面就是這個規則:

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

—— 對

—— 對

—— 錯

雖然最後一行**是錯誤的,但是在html的文件結構中並沒有出錯。使用$('span:has(div)')也是沒有問題的,最後的html文件也是沒有問題的。但是有時候會出現bug。目前不知是什麼bug。(有待完善)

2.   塊級元素不能放在裡面

;這些都是錯誤的,因為最後html的文件會是這樣的

和。我在之前就遇到過這樣的情況,可見這條規則值得注意的。

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

h1、h2、h3、h4、h5、h6、p、dt。

在這樣的情況下,我試了一下這樣的**:

結果是html文件最終依舊是這個,使用$('h2:has(div)')也是沒有錯誤的。但是,但是,但是.......當出現這樣的**的時候:

瀏覽器最後的html文件是:,原本是巢狀的屬於父子關係的標籤成為了兄弟級別的了。與p標籤不同的是h標籤會出現2個兄弟元素,而同樣的情況下p標籤會演變成3個兄弟標籤。是不是很怪?接下來,繼續:,結果是,又變成了兄弟元素。最後放大招:,結果是什麼?沒錯,這個在html文件最終是不變的.....那麼,結果是什麼呢?沒錯這個結果是

。那麼,我們就需要總結一下了:

p標籤內部不能巢狀任何塊級元素,h標籤不能巢狀自身(即便是h2巢狀h3也不行),dt不能巢狀自身。有時候內聯元素巢狀塊級元素會出現bug

HTML標籤巢狀規則

塊級元素和內嵌元素的區別 div ul li dl dt dd h1 h6 p address 內嵌元素一般用在 內容之中的某些細節或部位,用以 強調 區分樣式 上標 下標 錨點 等等,下面這些標籤都屬於內嵌元素 a span strong sub sup img 塊元素 和 內嵌元素 是可以互相轉...

html標籤巢狀規則

我們知道js 如果有語法錯誤,瀏覽器會拒絕執行並報錯。但是!瀏覽器遇到不合法的html時不會報錯,會千方百計地把它渲染出來。xhtml 標籤的巢狀規則了 1.塊元素可以包含內聯元素或某些塊元素,但內聯元素卻不能包含塊元素,它只能包含其它的內聯元素 對 對 錯 2.塊級元素不能放在裡面 錯 錯 3.有...

html標籤的巢狀規則

xhtml的標籤有許多 div ul li dl dt dd h1 h6 p a addressa span strong 我們在運用這些標籤搭建頁面結構的時候,是可以將它們無限巢狀的,但是,巢狀也需要有一定規則,不能任由自己的個人習慣胡亂巢狀,那麼,html標籤的巢狀規則有哪些呢?一 html 標...