:nth-child(an+b) 這個 CSS 偽類首先找到所有當(dāng)前元素的兄弟元素,然后按照位置先后順序從1開始排序,選擇的結(jié)果為CSS偽類:nth-child括號中表達(dá)式(an+b)匹配到的元素集合(n=0,1,2,3...)。示例:
0n+3 或簡單的 3 匹配第三個元素。
1n+0 或簡單的 n 匹配每個元素。(兼容性提醒:在 Android 瀏覽器 4.3 以下的版本 n 和 1n 的匹配方式不一致。1n 和 1n+0 是一致的,可根據(jù)喜好任選其一來使用。)
2n+0 或簡單的 2n 匹配位置為 2、4、6、8...的元素(n=0時,2n+0=0,第0個元素不存在,因為是從1開始排序)。你可以使用關(guān)鍵字 even 來替換此表達(dá)式。
2n+1 匹配位置為 1、3、5、7...的元素。你可以使用關(guān)鍵字 odd 來替換此表達(dá)式。
3n+4 匹配位置為 4、7、10、13...的元素。
a 和 b 都必須為整數(shù),并且元素的第一個子元素的下標(biāo)為 1。換言之就是,該偽類匹配所有下標(biāo)在集合 { an + b; n = 0, 1, 2, ...} 中的子元素。另外需要特別注意的是,an 必須寫在 b 的前面,不能寫成 b+an 的形式。
指定每個 p 元素匹配的父元素中第 2 個子元素的背景色:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(cainiaoplus.com)</title> <style> p:nth-child(2) { background:orange; } </style> </head> <body> <h1>這是一個標(biāo)題</h1> <p>這是第一個段落。</p> <p>這是第二個段落。</p> <p>這是第三個段落。</p> <p>這是第四個段落。</p> <p><b>注意:</b> Internet Explorer 8 以及更早版本的瀏覽器不支持 :nth-child()選擇器.</p> </body> </html>測試看看 ?/?
:nth-child(n) 選擇器匹配父元素中的第 n 個子元素,元素類型沒有限制。
n 可以是一個數(shù)字,一個關(guān)鍵字,或者一個公式。
提示: 請參閱選擇器。該選擇器匹配同類型中的第 n 個同級兄弟元素。
tr:nth-child(2n+1)
表示HTML表格中的奇數(shù)行。
tr:nth-child(odd)
表示HTML表格中的奇數(shù)行。
tr:nth-child(2n)
表示HTML表格中的偶數(shù)行。
tr:nth-child(even)
表示HTML表格中的偶數(shù)行。
span:nth-child(0n+1)
表示子元素中第一個且為span的元素,與 :first-child 選擇器作用相同。
span:nth-child(1)
表示父元素中子元素為第一的并且名字為span的標(biāo)簽被選中
span:nth-child(-n+3)
匹配前三個子元素中的span元素。
表格中的數(shù)字表示支持該屬性的第一個瀏覽器版本號。
選擇器 | |||||
---|---|---|---|---|---|
:nth-child() | 4.0 | 9.0 | 3.5 | 3.2 | 9.6 |
奇數(shù)和偶數(shù)是可以作為關(guān)鍵字使用用于相匹配的子元素,其索引是奇數(shù)或偶數(shù)(該索引的第一個子節(jié)點(diǎn)是1)。 在這里,我們?yōu)槠鏀?shù)和偶數(shù)p元素指定兩個不同的背景顏色:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(cainiaoplus.com)</title> <style> p:nth-child(odd) { background:#ff0000; } p:nth-child(even) { background:#0000ff; } </style> </head> <body> <h1>這是一個標(biāo)題</h1> <p>這是第一個段落。</p> <p>這是第二個段落。</p> <p>這是第三個段落。</p> <p>這是第四個段落。</p> <p><b>注意:</b> Internet Explorer 8 以及更早版本的瀏覽器不支持 :nth-child()選擇器.</p> </body> </html>測試看看 ?/?
使用公式(an+ b).描述:a代表一個循環(huán)的大小,N是一個計數(shù)器(從0開始),以及b是偏移量。 在這里,我們對所有索引是3的倍數(shù)的p元素指定了背景顏色:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(cainiaoplus.com)</title> <style> p:nth-child(3n+0) { background:orange; } </style> </head> <body> <h1>這是標(biāo)題</h1> <p>第一個段落。</p> <p>第二個段落。</p> <p>第三個段落。</p> <p>第四個段落。</p> <p>第五個段落。</p> <p>第六個段落。</p> <p>第七個段落。</p> <p>第八個段落。</p> <p>第九個段落。</p> <p><b>注意:</b> Internet Explorer 8 以及更早版本的瀏覽器不支持 :nth-child()選擇器.</p> </body> </html>測試看看 ?/?