CSS選擇器如此之多,你了解多少?

點擊右上方紅色按鈕關注“web秀”,讓你真正秀起來!

前言

css選擇器非常之多,常見的如class選擇器,id選擇器,標籤選擇器等等。每個的用法都有所區別,雖然很多都能到達同樣的效果,但還是有一些更優的選擇。

class、id、標籤選擇器

這個幾個就不細說了,class和標籤選擇器主要用來設置樣式上面,id選擇器推薦不要用在css樣式上,更多是用在js操作dom時,選擇元素。

如:

div{
background: #fff;
}
.list {
color: red;
}


$('#li').html('web秀')

element element

div p 選擇

元素內部的所有

元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?


element>element

div>p 選擇父元素為

元素的所有

元素。

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?


element+element

div+p 選擇緊接在

元素之後的所有

元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?


[attribute]

[target] 選擇帶有 target 屬性所有元素。

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?


[attribute=value]

[target=_blank] 選擇 target="_blank" 的所有元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



[attribute~=value]

[title~=title] 選擇 title 屬性包含單詞 "title" 的所有元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



[attribute|=value]/[attribute^=value]

[lang|=en] 選擇 lang 屬性值以 "en" 開頭的所有元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



[attribute$=value]

p[src$="e"] 選擇其 src 屬性以 "e" 結尾的所有

元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



[attribute*=value]

p[title*="abc"] 選擇其 title 屬性中包含 "abc" 子串的每個

元素。

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



element1~element2

p~div 選擇前面有

元素的每個

元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?


A標籤偽類選擇器

:link a:link 所有未被訪問的鏈接(a標籤的默認樣式)。

:visited a:visited 所有已被訪問的鏈接。

:active a:active 點擊後沒有鬆開鼠標的鏈接。

:hover a:hover 鼠標指針位於其上的鏈接。

:before / :after

在元素的內容之前插入內容。

div:before{
content: '';
display: block;
background: red;
width: 30px;
height: 10px;
}
div:after{
content: '';
display: block;
background: green;
width: 30px;
height: 10px;
}
CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:first-child

p:first-child 匹配的是某父元素的第一個子元素,可以說是結構上的第一個子元素。(注意和:first-of-type做區分)

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:first-of-type

p:first-of-type 匹配的是該類型的第一個,類型是指什麼呢,就是冒號前面匹配到的東西,比如 p:first-of-type,就是指所有p元素中的第一個。這裡不再限制是第一個子元素了,只要是該類型元素的第一個就行了,當然這些元素的範圍都是屬於同一級的,也就是同輩的。(注意和:first-child做區分)

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:last-child

p:last-child 表示其父元素的最後一個子元素,且這個元素是css指定的元素,才可以生效(注意和:last-of-type做區分)

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:last-of-type

p:last-of-type 代表在一群兄弟元素中的最後一個指定類型的元素。(注意和:last-child做區分)

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:only-child

p:only-child 選擇器選擇的是父元素中只有一個子元素,而且只有唯一的一個子元素


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:only-of-type

p:only-of-type 表示一個元素他有很多個子元素,而其中只有一種類型的子元素是唯一的


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:nth-child(n)

p:nth-child(2) 選擇屬於其父元素的第二個子元素的每個

元素。


CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?


:nth-child(odd)或者:nth-child(2n+1) 奇數行、:nth-child(even)或者:nth-child(2n+2) 偶數行

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:nth-last-child(n)

p::nth-last-child(n) 同上,從最後一個子元素開始計數。

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?


:empty

p:empty 選擇沒有子元素的每個

元素(包括文本節點)。

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



:not(selector)

:not(p) 選擇非p元素的每個元素。

CSS選擇器如此之多,你瞭解多少?

CSS選擇器如此之多,你瞭解多少?



input狀態選擇器

:focus 獲得焦點的 input 元素

:enabled 每個啟用的 input 元素

:disabled 每個禁用的 input 元素

:checked 每個被選中的 input 元素

公告


分享到:


相關文章: