CSS E:nth-child(n)
E:nth-child(n)是偽類選擇器,可以匹配指定型別與位置的元素。
被匹配元素具有如下特點:
(1).首先,是E型別元素。
(2).其次,必須是父元素的第n個子元素。
特別說明:E並不僅表示元素選擇器,也可以是其他CSS選擇器。
語法結構:
[CSS] 純文字檢視 複製程式碼E:nth-child(n){ Rules }
引數解析:
(1).E:CSS選擇器。
(2).Rules:CSS具體規則宣告。
此選擇器具有三種型別引數:
(1).數字。
(2).關鍵字。
(3).表示式。
後面會通過程式碼例項詳細演示各種型別引數的使用方式。
瀏覽器支援:
(1).IE9+瀏覽器支援此選擇器。
(2).edge瀏覽器支援此選擇器。
(3).谷歌瀏覽器支援此選擇器。
(4).火狐瀏覽器支援此選擇器。
(5).opera瀏覽器支援此選擇器。
(6).safria瀏覽器支援此選擇器。
例項程式碼:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> li:nth-child(2){ color:blue; } </style> </head> <body> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> </body> </html>
程式碼執行效果截圖如下:
程式碼分析如下:
(1).E是元素選擇器li,匹配到ul下所有li元素。
(2).然後在li元素集合中查詢第二個li元素,然後將其字型顏色設定為藍色。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> li:nth-child(3){ color:blue; } </style> </head> <body> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <p>螞蟻部落三</p> <li>螞蟻部落四</li> </ul> </body> </html>
程式碼執行效果截圖如下:
沒有任何文字被設定為藍色,可見匹配失敗,分析如下:
(1).首先,被匹配元素必須是li元素。
(2).其次,被匹配元素必須父元素下第三個子元素,然而第三個是p元素,匹配失敗。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> span{display:block} span:nth-child(2){color:blue;} </style> </head> <body> <div id="box"> <span>螞蟻部落一</span> <span>螞蟻部落二</span> <div id="ant"> <span>螞蟻部落三</span> <div id="inner"> <span>螞蟻部落四</span> </div> </div> </div> </body> </html>
程式碼執行效果截圖如下:
上述程式碼可以將第二個span元素字型顏色設定為藍色。
程式碼分析如下:
(1).box具有三個子元素,分別是兩個span和ant,第二個span匹配成功,將其字型顏色設定為藍色。
(2).ant具有兩個子元素,分別是span和inner,此span並不是第二個子元素,匹配失敗。
(3).inner具有一個span子元素,自然匹配失敗。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> li:nth-child(odd){ color:blue; } </style> </head> <body> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <p>螞蟻部落三</p> <li>螞蟻部落四</li> </ul> </body> </html>
程式碼執行效果截圖如下:
選擇器的引數還可以是關鍵字:
(1).odd匹配奇數行指定型別元素。
(2).even匹配偶數行指定型別元素。
CSS與其他程式語言不同,位置是從1開始計數的,而不是0。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> li:nth-child(2n + 1){ color:blue; } </style> </head> <body> <ul> <li>螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> <li>螞蟻部落五</li> <li>螞蟻部落六</li> <li>螞蟻部落七</li> <li>螞蟻部落八</li> </ul> </body> </html>
程式碼執行效果截圖如下:
上述程式碼中,選擇器引數是一個表示式,下面介紹一下規則。
語法結構描述如下:
[CSS] 純文字檢視 複製程式碼E:nth-child(an+b)
解析如下:
(1).a表示每次計數跨越兄弟元素的基礎個數。
(2).n表示跨越的次數,從開始計數進行自增。
(3).b表示跨域的偏移量。下面分析一下li:nth-child(2n + 1)選擇器是如何運作的:
規定每次跨越兄弟元素基礎個數是2,偏移量為1:
(1).2*0+1=1
(2).2*1+1=3
(3).2*2+1=5
以此類推,於是第一、第三、第五和第七的li元素字型顏色設定為藍色。
相關文章
- CSS E:nth-of-type(n)CSS
- CSS E:nth-last-of-type(n)CSSAST
- CSS E:nth-last-child(n)CSSAST
- CSS E:not()CSS
- CSS perspective(n)CSS
- CSS E:targetCSS
- CSS E:emptyCSS
- CSS E:rootCSS
- CSS E::selectionCSS
- CSS E[att^="val"]CSS
- CSS3 perspective(n)CSSS3
- CSS E::first-letterCSS
- CSS E:first-of-typeCSS
- CSS E:last-childCSSAST
- CSS E:only-of-typeCSS
- CSS E:only-childCSS
- CSS E:last-of-typeCSSAST
- CSS E:first-childCSS
- 淚目了!CSS nth-child偽類終於支援了of關鍵詞CSS
- css3 nth-child() 選擇器 (遍歷選擇器的奇偶數)CSSS3
- CSS E:link 選擇器CSS
- CSS E:enabled 選擇器CSS
- CSS E:focus 選擇器CSS
- CSS E,F 選擇器CSS
- CSS E[att]選擇器CSS
- CSS E:active 選擇器CSS
- CSS E:visited 選擇器CSS
- linux echo命令的-n、-e兩個引數Linux
- CSS E[att$="val"] 選擇器CSS
- CSS E F 包含選擇器CSS
- CSS E~F 兄弟選擇器CSS
- CSS E[att="val"]選擇器CSS
- CSS E[att|="val"]選擇器CSS
- CSS E[att~="val"]選擇器CSS
- CSS (E>F)子選擇符CSS
- CSS E[att*="val"]選擇器CSS
- CSS 第N個子元素樣式CSS
- CSS 顏色混合的N種方式CSS