在 HTML 和 CSS 的世界中,樣式元素通常是一項需要精確和高效的任務。然而,當涉及到一組後代的樣式時,缺乏簡單的語法可能會令人沮喪。
考慮以下場景:您有一個包含多個列和行的 HTML 表格,並且您想要為所有列標題 (th) 和表格單元格 (td) 指定相同的樣式。為什麼不能簡單地使用像 #myTable (th,td) 這樣的選擇器來實現這一點?
答案在於 CSS 語法本身。直到最近,CSS 還沒有提供一種明確的方法來將選擇器中的後代分組。相反,它要求您明確列出每個後代,例如#myTable th、#myTable td。
但是,對更簡潔、更有效的方法來對後代進行分組的願望導致了最近偽類的提議和實現- 課程。 Mozilla 於 2010 年推出了 :-moz-any(),隨後 WebKit 推出了 :-webkit-any()。雖然這些帶有前綴的偽類可以提供所需的分組功能,但由於需要特定於供應商的程式碼和潛在的規則集重複,它們的使用受到限制。
解決此問題的最新努力是建議的 :matches選擇器等級 4 工作草案中的 () 偽類。這個新的偽類別對 :any() 提案進行了改進,並且可以為後代分組提供標準化的解決方案。但是,對 :matches() 的支持仍然有限。
同時,如果您的目標是同時設計 th 和 td 元素的樣式,則可以使用 #myTable tr >; * 假設表格行中沒有其他子元素。這種替代方案消除了單獨列出後代的需要,提供了更有效和可讀的方法。
以上是如何在CSS中有效地定位後代:是否有比單獨清單更好的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!