0
JSBIN
HTML
<p>
<div>123</div>
</p>
CSS
p div{
background:#f00;
}
我有一個奇怪的問題。當我編碼結構如下HTML。實際上,用戶代理(瀏覽器)解析代碼:爲什麼在包含DIV時爲P標籤彈出DIV?
<p></p><div>123</div>
所以,CSS代碼是ineffective.you可以檢查出來的JSBIN。我想知道這個行爲是否原因有另一類似的標籤有這種行爲?謝謝。
但如果'了''包含div'。沒關係。我想知道是否存在定義標籤行爲的自然原因。是關於W3C草案嗎? – 2014-10-24 10:13:57
只要HTML有段落和div,回答中描述的兩個特徵就是真實的,這與草稿狀態無關。被允許包含div元素的錨是HTML 5的新成員,但錨的結束標記從來不是可選的,所以瀏覽器以與HTML 5規範一致的方式執行錯誤恢復。 – Quentin 2014-10-24 10:16:01
問題是你正在建造'標籤湯'。因爲你在'
'內放入了一個不允許的元素,所以瀏覽器猜測你並沒有將它用作塊元素,而是作爲段落分隔符代替 - 是有道理的,因爲它在新的標籤之前從未遇到過'
'標籤塊級元素被發現。寫有效的HTML和所有將沒事。正如@Quentin正確地注意到,自上個世紀末推出div之後,你的源代碼就無效了。 – 2014-10-24 10:28:20