iT邦幫忙

2024 iThome 鐵人賽

DAY 17
1

first-of-type

在之前的文章中,我們介紹過 :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

如果使用我們之前學過的 :first-child 選擇器來選取第一個 <div> 元素,可能會這樣寫:

.outer div:first-child {
  background-color: skyblue;
}

但你會發現,儲存後沒有任何變化

first-child

這是因為 .outer 裡的第一個元素實際上是 <p>,而不是 <div>

這時候 :first-of-type 就能派上用場了!

💠:first-of-type 基本用法

語法

選擇器:first-of-type { 
	屬性名: 屬性值; 
}
  • 選擇同層級中第一個相同類型的元素

範例

一起試試:[CODEPEN]

我們將上面的例子稍微改變一下

.outer div:first-of-type {
  background-color: skyblue;
}

first-of-type

這樣一來,第一個 <div> 元素就會被選中了。是不是很方便呢?

同樣地,:last-of-type 也可以類似操作,選擇同類型的最後一個元素。

💠:last-of-type 基本用法

語法

選擇器:last-of-type { 
	屬性名: 屬性值; 
}
  • 選擇同層級中最後一個相同類型的元素

範例

一起試試:[CODEPEN]

假設我們想選取 .outer 裡最後一個 <p> 元素:

.outer p:last-of-type {
  background-color: skyblue;
}

last-of-type

這樣一來,最後一個 <p> 元素就會被成功選中!


💠總結

:first-of-type:last-of-type 是用來針對特定元素類型進行選取的好幫手,尤其是在一個容器內有多種不同標籤時,能夠精準地選擇同類型的第一或最後一個元素。這些選擇器不僅簡單易懂,還能讓你的 CSS 更加靈活,適合各種不同的佈局需求。


上一篇
:nth-child 照著規則,所有元素任你選
下一篇
:nth-of-type 針對類型元素任你挑
系列文
你的優先選擇是什麼?從 CSS 選擇器到優先級,深入解析與實用技巧29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言