CSS E:last-of-type
E:last-of-type是偽類選擇器,匹配父元素下,E型別、相同型別標籤元素集合中最後一個子元素。
概念分解如下:
(1).首先,元素必須是E型別。
(2).其次,元素必須處於同標籤型別元素集合的最後一位。
選擇器的命名通常與其功能息息相關,選擇器中的type就是指的標籤型別。
特別說明:E表示一個CSS選擇器,不要誤解為僅表示元素選擇器。
功能與E:last-child選擇器類似,更多內容參閱如下兩篇文章:
(1).CSS E:last-child 選擇器一章節。
(2).E:last-of-type與E:last-child區別一章節。
語法結構:
[CSS] 純文字檢視 複製程式碼E:last-of-type{ Rules }
引數解析:
(1).E:CSS選擇器。
(2).Rules:CSS具體規則宣告。
瀏覽器支援:
(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:last-of-type{ color:blue; } </style> </head> <body> <ul> <li>螞蟻部落一</li> <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"> p:last-of-type{ color:blue; } </style> </head> <body> <div> <p>螞蟻部落一</p> <p>螞蟻部落二</p> <div>螞蟻部落三</div> </div> </body> </html>
程式碼執行效果截圖如下:
上述程式碼可以將第二個p元素的字型顏色設定為藍色。
由此可見,p元素沒必要必須是其父元素的最後一個子元素,只要其同型別元素的最後一個即可。
再來分析一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> .a:last-of-type{ color:blue; } </style> </head> <body> <ul> <li class="a">螞蟻部落一</li> <li class="a">螞蟻部落二</li> <li class="a">螞蟻部落三</li> <li>螞蟻部落四</li> </ul> <body> </html>
程式碼執行效果截圖如下:
沒有任何一個li元素的字型顏色被設定為藍色,匹配失敗。
可能不少朋友誤以為第二個li元素字型顏色會被設定為藍色。
程式碼分析如下:
(1).class選擇器a匹配ul下前三個li元素。
(2).選擇器中的type(標籤型別)限制作用將得以體現,類選擇器匹配的元素是li型別,那麼最終的匹配元素必須同時也是li元素集合中的最後一位,第三個li元素僅是class屬性值為a的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"> span{display:block} .a:last-of-type{ color:blue; } </style> </head> <body> <div id="box"> <span>螞蟻部落一</span> <span class="a">螞蟻部落二</span> <div id="ant"> <div>螞蟻部落三</div> <span class="a">螞蟻部落四</span> <div id="inner"> <span class="a">螞蟻部落五</span> <span>螞蟻部落六</span> </div> </div> </div> </body> </html>
程式碼執行效果截圖如下:
上述程式碼將第二個和第四個span元素字型顏色設定為藍色。
程式碼分析如下:
特別說明:為了陳述簡便,使用id屬性值指代對應元素。
(1).對於box元素,它具有三個子元素,兩個span元素和ant元素,類選擇器"a"可以匹配第二個span元素,並且此span元素的位置處於同級span元素集合的末尾,所以匹配成功。
(2).對於ant元素,它具有三個子元素,兩個div元素和一個span元素,類選擇器"a"可以匹配span元素,此元素雖然未處於同級元素的最後一位,但是處於同級span元素的最後一位(就它一個)。
(3).對於inner元素,它具有兩個span元素,類選擇器"a"可以匹配第一個span元素,此元素未處於同級span元素集合的末尾,所以匹配失敗。
相關文章
- E:last-child與E:last-of-type區別AST
- CSS E:not()CSS
- jQuery :last-of-typejQueryAST
- CSS E:targetCSS
- CSS E:emptyCSS
- CSS E:rootCSS
- CSS E[att^="val"]CSS
- CSS E::selectionCSS
- CSS E:first-childCSS
- CSS E:first-of-typeCSS
- CSS E:last-childCSSAST
- CSS E:only-of-typeCSS
- CSS E::first-letterCSS
- CSS E:only-childCSS
- CSS E:nth-child(n)CSS
- CSS E:enabled 選擇器CSS
- CSS E:focus 選擇器CSS
- CSS E,F 選擇器CSS
- CSS E[att]選擇器CSS
- CSS E:active 選擇器CSS
- CSS E:nth-of-type(n)CSS
- CSS E:nth-last-of-type(n)CSSAST
- CSS E[att*="val"]選擇器CSS
- CSS E:nth-last-child(n)CSSAST
- CSS E~F 兄弟選擇器CSS
- CSS E:link 選擇器CSS
- CSS E:visited 選擇器CSS
- CSS E[att$="val"] 選擇器CSS
- CSS E F 包含選擇器CSS
- CSS E[att|="val"]選擇器CSS
- CSS E[att~="val"]選擇器CSS
- CSS (E>F)子選擇符CSS
- CSS E[att="val"]選擇器CSS
- CSS E:default 偽類選擇器CSS
- CSS E::after 偽元素選擇器CSS
- CSS E:disabled偽類選擇器CSS
- CSS E:disabled 偽類選擇器CSS
- CSS E:checked 偽類選擇器CSS