在CSS 選擇器等級3 中,解析錯誤會導致丟棄包含以下內容的規則:無效的選擇器。瀏覽器多年來一直實施這種行為,確保可預測的錯誤處理。
丟棄整個規則的基本原理是多方面的:
為了說明這個問題,這裡有一個範例規則:
#menu li.last, #menu li:last-child { ... }
在像IE8缺乏:last-child 支援 這樣的瀏覽器中,儘管第一個選擇器有效,但由於無效選擇器,整個規則都會被丟棄選擇器。
考慮刪除無法辨識的選擇器而不丟棄規則。然而,它帶來了潛在的風險:
某些版面引擎可能會表現出不同的行為。 WebKit 忽略帶有前綴的選擇器,而其他選擇器則忽略整個規則。這些偏差強調如果修改錯誤處理規則,可能會出現跨瀏覽器不一致的情況。
以上是為什麼 CSS 規則會因為選擇器無效而被丟棄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!