iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0

子代選擇器(Child Combinator)用於選中指定元素中的直接子元素。與後代選擇器不同,子代選擇器只會選擇直接子元素,而不包括更深層次的後代元素。

如果延續大家族的比喻,組完男子棒球隊後,爺爺決定任命他的親生兒子們當棒球隊的幹部,所以大伯、爸爸、小叔會被直接「點名」出來當領隊,至於孫子輩們?他們這次可沒份,只有爺爺的直系兒子們才能負責帶領這支隊伍!

# 基本用法

語法

選擇器1 > 選擇器2 > 選擇器3 >… 選擇器n {
	屬性名: 屬性值;
}
  • > 用於表示選擇器之間的直接子代關係,確保只選中指定元素的直接子元素,而非更深層的後代元素。

範例

/* 選中所有 <p> 元素內的直接子元素 <span> */
p > span {
	color: red;
}

/* 選中 class 為 "nav" 的元素內的直接子元素 <a> */
.nav > a {
	color: green;
}
  • 第一個範例會將 <p> 元素的直接子元素 <span> 設為紅色,但不會影響 <p> 元素內其他層級的 <span>
  • 第二個範例會將類名為 nav 的元素內的直接子元素 <a> 設為綠色。

# 實務應用:段落文字樣式

在文章段落中,我們可以直接針對其內部的子元素進行樣式選取。由於子代選擇器只會選取 <p> 元素的直接子元素,因此 <a> 元素中的 <strong> 不會被選中。

<h1>功夫</h1>
<p>
  在一陣暴風雨之後,Lala在路上撿起了一本「<strong>九陰真經</strong>」,
  便開始打通任督二脈,學習<span>HTML</span>、<span>CSS</span>、<span>JavaScript</span>,
  並拿起了兩把屠龍刀,一把叫 <span>VueJS</span>,另一把叫 <span>ReactJS</span>,
  開啟了雙刀流之術,但更多的技法還得找尋到<a href="/"><strong>秘笈</strong></a>
  「<strong>天龍劍法</strong>」,路上阿婆告訴我:
  「妹妹,我看妳骨骼精奇,是百年一見的練武奇才呀!」。
</p>

<p>※以上純屬虛構,如有雷同純屬巧合</p>
p > span {
  color: lightcoral;
}

p > strong {
  color: lightseagreen;
}

Child Combinator

範例:[CODEPEN]

在這個範例中,p > span 會將段落中的直接子元素 <span> 設為淺珊瑚色,而 p > strong 則會將直接子元素 <strong> 設為淺綠色。
注意,<a> 元素中的 <strong> 不會受到影響,因為它並不是 <p> 的直接子元素。


# 總結

子代選擇器會選中直接的子元素,而孫子或更深層的元素則不會受到影響。
這讓你能夠精確地應用樣式,而不會意外影響到其他不相關的元素。


上一篇
後代選擇器-傳承的力量,輕鬆選中後代元素
下一篇
相鄰兄弟選擇器-兄弟情深,只挑最近的!
系列文
你的優先選擇是什麼?從 CSS 選擇器到優先級,深入解析與實用技巧12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言