CSS3偽類選擇器 nth child

2021-07-04 14:43:23 字數 1931 閱讀 3488

css3偽類選擇器:nth-child()

css3標準已提出數年,但是目前能實現她的瀏覽器並不多,雖然部分瀏覽器能實現部分規範,但這又有什麼用呢?面對更多的相容性問題,今天我們就來「前瞻」一下css3的乙個偽類選擇器「nth-child()」。

css3的強大,讓人驚嘆,人們在驚喜之餘,又不得不為其艱難的道路感到可惜:好的標準只有得到行業瀏覽器的良好支援才算得上「標準」。css3標準已提出數年,但是目前能實現她的瀏覽器並不多,雖然部分瀏覽器能實現部分規範,但這又有什麼用呢?面對更多的相容性問題,csser們只有望洋輕嘆。雖然如此,但有前瞻性的我們,又怎能停步不前呢?今天我們就來「前瞻」一下css3的乙個偽類選擇器「:nth-child()」。

語法: :nth-child(an b)

為什麼選擇她,因為我認為,這個選擇器是最多學問的乙個了。很可惜,據我所測,目前能較好地支援她的只有opera9 和safari3 。

描述:

偽類:nth-child()的引數是an

b,如果按照w3.org上的描述,寫成中文,很可能會讓人頭暈,再加上筆者的文筆水平有限,所以我決定避開an

b的說法,把它拆分成5種寫法共5部分來說明。 第一種:簡單數字序號寫法 :nth-child(number)

直接匹配第number個元素。引數number必須為大於0的整數。 例子:

li:nth-child(3)/把第3個li的背景設為橙色/

第二種:倍數寫法:nth-child(an)

匹配所有倍數為a的元素。其中引數an中的字母n不可預設,它是倍數寫法的標誌,如3n、5n。

例子:

li:nth-child(3n)/把第3、第6、第9、…、所有3的倍數的li的背景設為橙色/

第三種:倍數分組匹配:nth-child(an b) 與 :nth-child(an-b)

先對元素進行分組,每組有a個,b為組內成員的序號,其中字母n和加號

不可預設,位置不可調換,這是該寫法的標誌,其中a,b均為正整數或0。如3n 1、5n

1。但加號可以變為負號,此時匹配組內的第a-b個。(其實an前面也可以是負號,但留給下一部分講。) 例子: li:nth-child(3n

1)/匹配第1、第4、第7、…、每3個為一組的第1個li/ li:nth-child(3n

5)/匹配第5、第8、第11、…、從第5個開始每3個為一組的第1個li/

li:nth-child(5n-1)/匹配第5-1=4、第10-1=9、…、第5的倍數減1個li/

li:nth-child(3n±0)/相當於(3n)/ li:nth-child(±0n

3)/相當於(3)/

第四種:反向倍數分組匹配:nth-child(-an b)

此處一負一正,均不可預設,否則無意義。這時與:nth-child(an

1)相似,都是匹配第1個,但不同的是它是倒著算的,從第b個開始往回算,所以它所匹配的最多也不會超過b個。 例子:

li:nth-child(-3n 8)/匹配第8、第5和第2個li/

li:nth-child(-1n 8)/*或(-n

8),匹配前8個(包括第8個)li,這個較為實用點,用來限定前面n個匹配常會用到*/ 第五種:奇偶匹配 :nth-child(odd) 與

:nth-child(even) 分別匹配序號為奇數與偶數的元素。奇數(odd)與(2n 1)結果一樣;偶數(even)與(2n

0)及(2n)結果一樣。 附:例子效果圖

CSS3 選擇器 偽類選擇器

e pseudo class e.class pseudo class 語法1示例 a link 語法2示例 a selected hover 動態偽類,因為這些偽類並不存在於html中,而只有當使用者和 互動的時候才能體現出來,動態偽類包含兩種。第一種是我們在鏈結中常看到的錨點偽類,如 link ...

Css3選擇器 偽類選擇器

一 動態偽類 動態偽類,因為這些偽類並不存在於html中,而只有當使用者和 互動的時候才能體現出來,動態偽類包含兩種,第一種是我們在鏈結中常看到的錨點偽類,如 link visited 另外一種被稱作使用者行為偽類,如 hover active 和 focus 對於 hover在ie6下只有a元素支...

css3偽類選擇器

css3偽類選擇器 動態偽類選擇器 他不存在於html中,只有在互動的過程中,才能使用動態偽類選擇器對其進行樣式的渲染 超連結ui元素狀態偽類選擇器 結構偽類選擇器 first child 選擇某個元素的第乙個子元素 last child 選擇某個元素的最後乙個子元素 nth child 選擇某個元...