以前學的的迷糊了,也不知道什麼會什麼不會了,跑去面試了。別人列出一堆css選擇器,本覺得選擇器沒啥的,結果到那個多類選擇器翻車了,.a.b選擇同時含a,b類名的,很尷尬因此回來仔細整理了一下。目前根據W3C手冊所知,選擇器一共44個,特此分類記錄複習一下(分類依據可能不合理,只是爲了方便本身記憶)css
一.基本選擇器(4個)
* |
通配符,選擇全部元素 |
2 |
.class |
類選擇器,選擇類名爲class的元素 |
1 |
#ID |
id選擇器,選擇id爲ID的元素 |
1 |
element |
元素選擇器,選擇element元素 |
1 |
二.結合選擇器(6個)
.a.b |
多類選擇器,選擇同時擁有類名爲a,b的元素 |
|
a b |
後代選擇器 ,選擇a元素後代的全部b元素 |
1 |
a,b |
同級選擇器 ,選擇a元素和b元素 |
1 |
a>b |
子代選擇器,選擇a元素的直接子代b |
2 |
a+b |
直接相鄰兄弟選擇器,選擇緊跟着a元素的b元素 |
2 |
a~b |
通用兄弟選擇器,選擇前面有a的全部b元素 |
3 |
注意事項: 1. 相鄰兄弟選擇器,之間能夠有文本元素,不影響,其它不可。2.在 IE7 以前的版本中,不一樣平臺的 Internet Explorer 都不能正確地處理多類選擇器。面試
三.僞元素(4個)
:first-letter |
選擇首字 |
1 |
:first-line |
選擇首行 |
1 |
:before |
在元素以前插入 |
2 |
:after |
在元素以後插入 |
2 |
注意事項: 1. 全部僞元素都必須放在該僞元素選擇器的最後面 2. 僞元素是一種假想的元素,插入到頁面中代替某個元素可是並不出如今文檔源代碼中,由用戶代理動態構建。代理
四.屬性選擇器(7個)
[attr] |
簡單屬性選擇器,選擇含有attr屬性的元素 |
2 |
[attr=value] |
具體值屬性選擇器,選擇attr屬性值等於value的元素 |
2 |
[attr~=value] |
選擇attr屬性中含有value詞條的元素 |
2 |
[attr|=value] |
選擇attr屬性以value-開頭,或者等於value的元素 |
2 |
[attr*=value] |
子串匹配,選擇attr屬性子串包含value的全部元素 |
3 |
[attr^=value] |
選擇attr屬性以value開頭的元素 |
3 |
[attr$=value] |
選擇attr屬性以value結尾的元素 |
3 |
五.僞類(23個)
表單相關(3)
:checked |
選中的input元素 |
3 |
:disabled |
選中禁用的input元素 |
3 |
:enabled |
選中啓用的input元素 |
3 |
超連接相關,love-focus-hate.(5)
:link |
未被訪問的鏈接 |
3 |
:visited |
已經被訪問的鏈接 |
3 |
:focus |
獲取焦點的元素 |
3 |
:hover |
鼠標懸浮的元素 |
3 |
:actived |
活動的元素 |
3 |
同一父元素下的目標選擇(9)
p:only-child |
選擇其父元素下的惟一子元素p下的全部元素 |
3 |
p:only-of-type |
選擇屬於其父元素惟一的 p元素的每一個 p元素 |
3 |
p:first-of-type |
選擇屬於其父元素的首個p 元素的每一個 p 元素。 |
3 |
p:last-of-type |
選擇屬於其父元素的最後 p元素的每一個 p元素 |
3 |
p:nth-child(n) |
選擇屬於其父元素的第n個子元素的每一個 p 元素 (n從1開始) |
3 |
p:nth-last-child(n) |
從最後一個子元素開始計數 |
3 |
p:nth-of-type(n) |
選擇屬於其父元素第n個p元素的每一個p元素 |
3 |
p:nth-last-of-type(n) |
從最後一個元素開始計數 |
3 |
p:last-child |
選擇屬於其父元素最後一個子元素每一個p元素 |
3 |
其它(6)
:root |
選擇文檔根元素 |
3 |
:lang(language) |
選擇帶有以 "language" 開頭的 lang 屬性值的元素 |
2 |
:empty |
選擇沒有子元素的元素(包括文本節點) |
3 |
:target |
選擇當前活動的元素,錨點指向的元素 |
3 |
:not(selector) |
選擇非某個元素的全部元素 |
3 |
::selection |
選擇被用戶選取的元素部分 |
3 |
六.CSS權重
- 最高級別!important
- 行內式 1000
- ID選擇器 100
- 類選擇器、僞類、屬性選擇器 10
- 元素選擇器、僞元素 1
- 其它爲0