CSS3 :nth-child()僞類選擇器

語法:瀏覽器

:nth-child(an+b)

:nth-child(n) 選擇器匹配屬於其父元素的第 N 個子元素,不論元素的類型。spa

n 能夠是數字、關鍵詞或公式。code

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

瀏覽器支持:全部主流瀏覽器均支持 :nth-child() 選擇器,除了 IE8 及更早的版本。co

第一種:簡單數字序號寫法

:nth-child(number)數字

直接匹配第number個元素。參數number必須爲大於0的整數。background

例子:
版本

li:nth-child(3){background:orange;}/*把第3個LI的背景設爲橙色*/

第二種:倍數寫法

:nth-child(an)參數

匹配全部倍數爲a的元素。其中參數an中的字母n不可缺省,它是倍數寫法的標誌,如3n、5n。

例子:

li:nth-child(3n){background:orange;}/*把第三、第六、第九、…、全部3的倍數的LI的背景設爲橙色*/

第三種:倍數分組匹配

:nth-child(an+b) 與 :nth-child(an-b)

先對元素進行分組,每組有a個,b爲組內成員的序號,其中字母n和加號+不可缺省,位置不可調換,這是該寫法的標誌,其中a,b均爲正整數或0。如3n+一、5n+1。但加號能夠變爲負號,此時匹配組內的第a-b個。(其實an前面也能夠是負號,但留給下一部分講。)

例子:

li:nth-child(3n+1){background:orange;}/*匹配第一、第四、第七、…、每3個爲一組的第1個LI*/

li:nth-child(3n+5){background:orange;}/*匹配第五、第八、第十一、…、從第5個開始每3個爲一組的第1個LI*/

li:nth-child(5n-1){background:orange;}/*匹配第5-1=四、第10-1=九、…、第5的倍數減1個LI*/

li:nth-child(3n±0){background:orange;}/*至關於(3n)*/

li:nth-child(±0n+3){background:orange;}/*至關於(3)*/

第四種:反向倍數分組匹配

:nth-child(-an+b)

此處一負一正,均不可缺省,不然無心義。這時與:nth-child(an+1)類似,都是匹配第1個,但不一樣的是它是倒着算的,從第b個開始往回算,因此它所匹配的最多也不會超過b個。

例子:

li:nth-child(-3n+8){background:orange;}/*匹配第八、第5和第2個LI*/

li:nth-child(-1n+8){background:orange;}/*或(-n+8),匹配前8個(包括第8個)LI,這個較爲實用點,用來限定前面N個匹配常會用到*/

第五種:奇偶匹配

:nth-child(odd) 與 :nth-child(even)

分別匹配序號爲奇數與偶數的元素。奇數(odd)與(2n+1)結果同樣;偶數(even)與(2n+0)及(2n)結果同樣。

例:

列表 1,4,5,8,9,12,13,16,17……爲大圖;2,3,6,7,10,11,14,15,18……爲小圖.list:nth-child(4n){width:56%}.list:nth-child(4n+1){width:56%}.list:nth-child(4n+2){width:42%}.list:nth-child(4n+3){width:42%}

相關文章
相關標籤/搜索