css3 nth-child選擇器

frontoldman發表於2017-07-18

css3 nth-child選擇器

css3的nth-child選擇器,乍看起來很簡單,其實不是那麼容易。

簡單用法

p:nth-child(n) // 選擇屬於其父元素的第n個子元素的每個 <p> 元素
p:nth-child(2n) // 選擇屬於其父元素的子元素的每個偶數<p> 元素
p:nth-child(2n + 1) // 選擇屬於其父元素的子元素的每個奇數<p> 元素

注意事項

大概大家都知道上面的使用方法,但是有一點搞不清楚的話,使用起來就會很困惑。那就是n是什麼?

n是從0開始的正整數,它代表著一個序列,0, 1, 2……這樣的。

但是:nth-child(n+m)中的n+m是從1開始計算的,也就是說子元素的起始計算序號是1,不存在0這樣子的元素。第一個元素就是1,不是0。這和程式裡面的陣列起始序號還有jQuery的選擇器都是不一樣的。

這樣子就很好理解了。當我們要選擇哪些元素的時候,只要把引數根據n的遞增算出來的值對應到子元素在父元素裡面的位置序列就好了

比如查詢第一個元素

:nth-child(1)

查詢序列大於等於10的元素

:nth-child(n+10)

就這樣子的

css3中還有一些其他的子元素選擇器

比如

:first-child // 第一個元素
:last-child    // 最後一個元素
:nth-last-child // 從最後一個子元素開始計數,n還是0開始,但是子元素的最後一個是1,倒過來了

互相輔助,還是很好用的

相關文章