前言
css選擇器非常之多,常見的如class選擇器,id選擇器,標簽選擇器等等。每個的用法都有所區別,雖然很多都能到達同樣的效果,但還是有一些更優的選擇。
class、id、標簽選擇器
這個幾個就不細說了,class和標簽選擇器主要用來設置樣式上面,id選擇器推薦不要用在css樣式上,更多是用在js操作dom時,選擇元素。
如:
div{ background: #fff; } .list { color: red; }
$('#li').html('<span>web秀</span>')
element element
div p 選擇 <div> 元素內部的所有 <p> 元素。
CSS選擇器如此之多,你了解多少?
element>element
div>p 選擇父元素為 <div> 元素的所有 <p> 元素。
CSS選擇器如此之多,你了解多少?
element+element
div+p 選擇緊接在 <div> 元素之后的所有 <p> 元素。
CSS選擇器如此之多,你了解多少?
[attribute]
[target] 選擇帶有 target 屬性所有元素。
CSS選擇器如此之多,你了解多少?
[attribute=value]
[target=_blank] 選擇 target=”_blank” 的所有元素。
CSS選擇器如此之多,你了解多少?
[attribute~=value]
[title~=title] 選擇 title 屬性包含單詞 “title” 的所有元素。
CSS選擇器如此之多,你了解多少?
[attribute|=value]/[attribute^=value]
[lang|=en] 選擇 lang 屬性值以 “en” 開頭的所有元素。
CSS選擇器如此之多,你了解多少?
[attribute$=value]
p[src$=”e”] 選擇其 src 屬性以 “e” 結尾的所有 <p> 元素。
CSS選擇器如此之多,你了解多少?
[attribute*=value]
p[title*=”abc”] 選擇其 title 屬性中包含 “abc” 子串的每個 <p> 元素。
CSS選擇器如此之多,你了解多少?
element1~element2
p~div 選擇前面有 <p> 元素的每個 <div> 元素。
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選擇器如此之多,你了解多少?
:first-child
p:first-child 匹配的是某父元素的第一個子元素,可以說是結構上的第一個子元素。(注意和:first-of-type做區分)
CSS選擇器如此之多,你了解多少?
:first-of-type
p:first-of-type 匹配的是該類型的第一個,類型是指什么呢,就是冒號前面匹配到的東西,比如 p:first-of-type,就是指所有p元素中的第一個。這里不再限制是第一個子元素了,只要是該類型元素的第一個就行了,當然這些元素的范圍都是屬于同一級的,也就是同輩的。(注意和:first-child做區分)
CSS選擇器如此之多,你了解多少?
:last-child
p:last-child 表示其父元素的最后一個子元素,且這個元素是css指定的元素,才可以生效(注意和:last-of-type做區分)
CSS選擇器如此之多,你了解多少?
:last-of-type
p:last-of-type 代表在一群兄弟元素中的最后一個指定類型的元素。(注意和:last-child做區分)
CSS選擇器如此之多,你了解多少?
:only-child
p:only-child 選擇器選擇的是父元素中只有一個子元素,而且只有唯一的一個子元素
CSS選擇器如此之多,你了解多少?
:only-of-type
p:only-of-type 表示一個元素他有很多個子元素,而其中只有一種類型的子元素是唯一的
CSS選擇器如此之多,你了解多少?
:nth-child(n)
p:nth-child(2) 選擇屬于其父元素的第二個子元素的每個 <p> 元素。
CSS選擇器如此之多,你了解多少?
:nth-child(odd)或者:nth-child(2n+1) 奇數行、:nth-child(even)或者:nth-child(2n+2) 偶數行
CSS選擇器如此之多,你了解多少?
:nth-last-child(n)
p::nth-last-child(n) 同上,從最后一個子元素開始計數。
CSS選擇器如此之多,你了解多少?
:empty
p:empty 選擇沒有子元素的每個 <p> 元素(包括文本節點)。
CSS選擇器如此之多,你了解多少?
:not(selector)
:not(p) 選擇非p元素的每個元素。
CSS選擇器如此之多,你了解多少?
input狀態選擇器
:focus 獲得焦點的 input 元素
:enabled 每個啟用的 input 元素
:disabled 每個禁用的 input 元素
:checked 每個被選中的 input 元素
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。