跳至內容
Astera Technology

樣式只想改第一層,別連內層也改了

用兩層元素樹,比較直接子元素和所有後代配對。

直接段落是綠色,內層段落是紫色。

下載完整個案資料及參考答案 ↓

先看這個例子

lesson 小節有一個直接段落,另一段放在內層 section。直接規則用 .lesson>p,內層段落另有紫色規則。

輸入與瀏覽器原生結果
情況輸入或查看方法結果與意思
子元素選擇器 .lesson>p只配對 direct
後代選擇器 .lesson p配對 direct 和 nested
真正色值讀兩個 color 值綠、紫
下載可編輯 CSV ↓

瀏覽器怎樣處理

子元素組合符要求直接父子關係;後代選擇器可以跨多層。兩者都不改元素樹,只按已有結構配對。

用後代規則,兩層都會配對

反例把一條綠色後代規則套到兩段。

反例原始碼,請另開例子核對
<style>body{margin:8px}</style>
<style>.lesson p{color:rgb(0,80,40)}</style><section class="lesson"><p id="direct">直接段落</p><section><p id="nested">內層段落</p></section></section>

兩段都配對並變綠色,失去原定只改第一層的範圍。

試着修正

nested 再移深一層,.lesson>p 會開始配對它嗎?

查看參考答案

不會,仍不是直接父子。後代選擇器則繼續配對。

  • 先記配對到的 id 集合,再比色值。
  • 查真正巢狀關係,不靠縮排推定。

原始例子檔案

相關資源