」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的子選擇器無法設定表格儲存格的樣式?

為什麼我的子選擇器無法設定表格儲存格的樣式?

發佈於2024-12-21
瀏覽:232

Why Does My Child Selector Fail to Style Table Cells?

表結構中的子選擇器與後代選擇器

在HTML 文件中選擇元素時,開發者經常使用子選擇器(>) 來定位指示子層級和後代選擇器以任何巢狀元素為目標。但是,在某些情況下,子選擇器似乎會意外失敗。

考慮以下範例:

table tr td {
  background-color: red;
}

table > tr > td {
  background-color: blue;
}

第一條規則成功選擇

元素內 元素內的所有 的子元素,它又是
元素。然而,使用子選擇器 (>) 的第二條規則無法對任何 元素進行樣式設定。

對此行為感到困惑,開發人員可能會假設,因為

的子級,因此應該應用子選擇器。

HTML 中隱式包含

元素會產生混亂。預設情況下,瀏覽器插入 元素來包含 元素。結果實際的元素結構變成:

在此修改後的結構中,

不再是 的直接子級,而是 的子級,而 本身又是
的子級。因此,> 選擇器無法定位 的直接子級。

要修正此問題,開發人員必須明確選擇 tbody 元素:

table > tbody > tr > td {
  background-color: blue;
}

這可確保子選擇器針對修改後的結構中的正確元素。此外,如果 tbody 元素明確地新增到 HTML 文件中,則可以使用相同的選擇器。

,因為它不是
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3