在之前的文章中,我們介紹過 :first-child & :last-child 這兩個選擇器,可以用來選中第一個或最後一個元素。但本篇要介紹的 :first-of-type
和 :last-of-type
與它們略有不同,這兩個選擇器可以更具體地針對同類型元素進行選取。讓我們來看看它們的應用差異。
假設我們有以下的 HTML 結構,並希望將第一個 <div>
元素的背景色設為 skyblue
:
<div class="outer">
<p class="box">p</p>
<p class="box">p</p>
<p class="box">p</p>
<div class="box">div</div>
<div class="box">div</div>
<div class="box">div</div>
<div class="box">div</div>
<span class="box">span</span>
<span class="box">span</span>
<span class="box">span</span>
</div>
如果使用我們之前學過的 :first-child
選擇器來選取第一個 <div>
元素,可能會這樣寫:
.outer div:first-child {
background-color: skyblue;
}
但你會發現,儲存後沒有任何變化
這是因為 .outer
裡的第一個元素實際上是 <p>
,而不是 <div>
。
這時候 :first-of-type
就能派上用場了!
:first-of-type
基本用法選擇器:first-of-type {
屬性名: 屬性值;
}
一起試試:[CODEPEN]
我們將上面的例子稍微改變一下
.outer div:first-of-type {
background-color: skyblue;
}
這樣一來,第一個 <div>
元素就會被選中了。是不是很方便呢?
同樣地,:last-of-type
也可以類似操作,選擇同類型的最後一個元素。
:last-of-type
基本用法選擇器:last-of-type {
屬性名: 屬性值;
}
一起試試:[CODEPEN]
假設我們想選取 .outer
裡最後一個 <p>
元素:
.outer p:last-of-type {
background-color: skyblue;
}
這樣一來,最後一個 <p>
元素就會被成功選中!
:first-of-type
和 :last-of-type
是用來針對特定元素類型進行選取的好幫手,尤其是在一個容器內有多種不同標籤時,能夠精準地選擇同類型的第一或最後一個元素。這些選擇器不僅簡單易懂,還能讓你的 CSS 更加靈活,適合各種不同的佈局需求。
本文將同步更新至 Lala Code