當我們處理 HTML 結構時,可以使用虛擬類別選擇器(偽類選擇器)來選中特定位置的元素,這類偽類稱為「結構偽類」。
舉例來說,如果要固定在第一個<li>
元素套用特定樣式,初學者通常會在第一個元素上加上一個 class
類別來完成
1 | <ul> |
1 | .first { |
然而,假如你在未來需要在火鍋之前新增熱炒的項目
1 | <ul> |
這時候又要手動將 class="first"
搬到第一個
1 | <ul> |
當然你也可以用 JavaScript 來設定,第一個 <li>
元素加上 first
類別
但是!我們有更好的選擇,我們可以直接使用 CSS 來輕鬆選中,
:first-child
這個偽類來更輕鬆地達成相同效果,不再需要手動修改 HTML 結構,也無需寫任何一行 JavaScript 程式碼。
💠:first-child
基本用法
語法
1 | 選擇器:first-child { |
- 選取所有兄弟元素中的第一個元素
範例
1 | <ul> |
1 | ul li:first-child { |
這樣的寫法可以自動選取 <ul>
底下的第一個 <li>
元素,無論你新增或修改結構,樣式始終會正確套用在第一個項目上。
See the Pen first-child by Lala (@bobee) on CodePen.
除了所有兄弟元素中的第一個元素,你也可以使用 :last-child
選中最後一個元素
💠:last-child
基本用法
語法
1 | 選擇器:last-child { |
- 選取所有兄弟元素中的最後一個元素
範例:選單底線
適合在特定情況下排除某些樣式。例如,如果你希望每個選單項目之間有下底線,但最後一個項目沒有下底線,可以這麼做
1 | <ul class="menu"> |
1 | .menu li { |
See the Pen last-child by Lala (@bobee) on CodePen.
透過 :last-child
偽類,我們將最後一個 <li>
元素的 border-bottom
設置為 none
,這樣就不會顯示下底線。這種做法特別適合於多項目列表或導航欄,避免最後一項和底部之間的多餘分隔。
💠 總結
透過使用結構偽類如 :first-child
和 :last-child
,我們可以輕鬆選取 HTML 結構中特定位置的元素,讓我們的樣式設定更加靈活且不需頻繁修改 HTML 結構。這不僅提高了維護性,也使得樣式管理更為高效,無論是選取第一個元素還是最後一個元素,都可以用簡潔的語法來實現,讓你的網站保持良好的結構和視覺效果。
🚀實體工作坊分享
玩轉 Web頁面的前端技術(HTML/CSS/JS) 一日體驗課
最近時賦學苑開了實體體驗課,即使你對程式碼沒有概念也能上手!Lala 會帶你一起做出一個個人品牌形象網站,帶你快速了解前端的開發流程,快跟我們一起玩轉 Web 吧!🚀線上課程分享
線上課程可以加速學習的時間,省去了不少看文件的時間XD,以下是我推薦的一些課程想學習更多關於前後端的線上課程,可以參考看看。
Hahow
Hahow 有各式各樣類型的課程,而且是無限次數觀看,對學生或上班族而言,不用擔心被時間綁住六角學院
如果你是初學者,非常推薦六角學院哦!剛開始轉職也是上了六角的課,非常的淺顯易懂,最重要的是,隨時還有線上的助教幫你解決問題!
Udemy
Udemy 裡的課程非常的多,品質普遍不錯,且價格都滿實惠的,CP值很高!也是很多工程師推薦的線上課程網站。