Less混合結合:nth-child()選擇器的高級玩法

1、先看效果圖

上圖中比較麻煩的是每塊的底色處理,下面看怎麼處理👇

2、:nth-child(n) 選擇器

匹配屬於其父元素的第 N 個子元素,不論元素的類型。

n 可以是數字、關鍵詞或公式。

  • 數字:最常見的使用方式,eg: :nth-child(1)

  • 關鍵詞: Odd 和 even 是可用於匹配下標是奇數或偶數的子元素的關鍵詞(第一個子元素的下標是 1)。

  • 公式: 使用公式 (an + b)。描述:表示周期的長度,n 是計數器(從 0 開始),b 是偏移值。

3、主要思路:

  1. 運用less混合傳參,參數既是 :nth-child(n) 選擇器的公式

  2. 在混合裡面處理每個原色的底色,通過 :nth-child(n) 選擇器結合 ::after 偽元素實現。

有了思路之後,下面讓我們看一下具體的程式碼實現👇

4、程式碼實現

以下只貼顏色處理的核心程式碼👇

.colorLine(@index, @startColor, @endColor) {
  .li-item:nth-child(@{index})::after {
    background: linear-gradient(136deg, @startColor, @endColor);
  }
}
.colorLine(1n, rgba(255, 122, 109, 1), rgba(255, 77, 62, 1));
.colorLine(2n, rgba(93, 219, 224, 1), rgba(0, 188, 218, 1));
.colorLine(3n, rgba(59, 220, 72, 1), rgba(92, 209, 46, 1));
.colorLine(4n, rgba(254, 190, 43, 1), rgba(255, 163, 0, 1));
.colorLine(5n, rgba(148, 117, 247, 1), rgba(119, 83, 233, 1));

4.1、程式碼說明:

通過Less混合傳參,實現指定了下標是 1,2,3,4,5 的倍數的所有 li-item 元素的偽元素背景色


🎈🎈🎈

🌹 持續更文,關注我,你會發現一個踏實努力的寶藏前端😊,讓我們一起學習,共同成長吧。

🎉 喜歡的小夥伴記得點贊關注收藏喲,回看不迷路 😉

✨ 歡迎大家評論交流,蟹蟹😊

Tags: