點擊右上方紅色按鈕關注“web秀”,讓你真正秀起來!
前言
css選擇器非常之多,常見的如class選擇器,id選擇器,標籤選擇器等等。每個的用法都有所區別,雖然很多都能到達同樣的效果,但還是有一些更優的選擇。
class、id、標籤選擇器
這個幾個就不細說了,class和標籤選擇器主要用來設置樣式上面,id選擇器推薦不要用在css樣式上,更多是用在js操作dom時,選擇元素。
如:
div{
background: #fff;
}
.list {
color: red;
}
$('#li').html('web秀')
element element
div p 選擇
元素。
element>element
div>p 選擇父元素為
元素。
element+element
div+p 選擇緊接在
元素。
[attribute]
[target] 選擇帶有 target 屬性所有元素。
[attribute=value]
[target=_blank] 選擇 target="_blank" 的所有元素。
[attribute~=value]
[title~=title] 選擇 title 屬性包含單詞 "title" 的所有元素。
[attribute|=value]/[attribute^=value]
[lang|=en] 選擇 lang 屬性值以 "en" 開頭的所有元素。
[attribute$=value]
p[src$="e"] 選擇其 src 屬性以 "e" 結尾的所有
元素。
[attribute*=value]
p[title*="abc"] 選擇其 title 屬性中包含 "abc" 子串的每個
元素。
element1~element2
p~div 選擇前面有
元素的每個
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;
}
:first-child
p:first-child 匹配的是某父元素的第一個子元素,可以說是結構上的第一個子元素。(注意和:first-of-type做區分)
:first-of-type
p:first-of-type 匹配的是該類型的第一個,類型是指什麼呢,就是冒號前面匹配到的東西,比如 p:first-of-type,就是指所有p元素中的第一個。這裡不再限制是第一個子元素了,只要是該類型元素的第一個就行了,當然這些元素的範圍都是屬於同一級的,也就是同輩的。(注意和:first-child做區分)
:last-child
p:last-child 表示其父元素的最後一個子元素,且這個元素是css指定的元素,才可以生效(注意和:last-of-type做區分)
:last-of-type
p:last-of-type 代表在一群兄弟元素中的最後一個指定類型的元素。(注意和:last-child做區分)
:only-child
p:only-child 選擇器選擇的是父元素中只有一個子元素,而且只有唯一的一個子元素
:only-of-type
p:only-of-type 表示一個元素他有很多個子元素,而其中只有一種類型的子元素是唯一的
:nth-child(n)
p:nth-child(2) 選擇屬於其父元素的第二個子元素的每個
元素。
:nth-child(odd)或者:nth-child(2n+1) 奇數行、:nth-child(even)或者:nth-child(2n+2) 偶數行
:nth-last-child(n)
p::nth-last-child(n) 同上,從最後一個子元素開始計數。
:empty
p:empty 選擇沒有子元素的每個
元素(包括文本節點)。
:not(selector)
:not(p) 選擇非p元素的每個元素。
input狀態選擇器
:focus 獲得焦點的 input 元素
:enabled 每個啟用的 input 元素
:disabled 每個禁用的 input 元素
:checked 每個被選中的 input 元素
公告
閱讀更多 web秀 的文章