CSS:選擇器與優先級

樣式優先級原則

總的原則
1.CSS規定擁有更高肯定度的選擇器優先級更高
2.若是樣式中包含衝突的規則,且它們具備相同的肯定度。那麼,後出現的規則優先級高。web

優先級:由高到低(從上到下)get

  • !importantinput

  • 內聯(1,0,0,0)it

  • id: (0,1,0,0)ast

  • 類:(0,0,1,0)class

  • 僞類/屬性import

  • 元素:(0,0,0,1)cli

  • 通配符表單

類選擇器

class="web",多個元素能夠擁有同一個類名im

id選擇器

id="web",具備惟一性

僞類選擇器

CSS僞類(pseudo-class)是加在選擇器後面的用來指定元素狀態的關鍵字。

連接相關

a:link 未訪問的連接
a:visited 已訪問的連接
a:hover 鼠標移動到連接上
a:active 選定的連接
:target 可用於選取當前活動的目標元素,href="#222"(內容跳轉)

表單元素相關

:focus 僞類在元素得到焦點時向元素添加特殊的樣式
:disabled 匹配每一個被禁用的元素(大多用在表單元素上)。
:enabled 表示任何啓用的(enabled)元素
:checked 匹配每一個已被選中的 input 元素(只用於單選按鈕和複選框)(只有opera支持)

父子相關

:empty 表明沒有子元素的元素,只計算元素結點及文本(包括空格),註釋、運行指令不考慮在內。

:first-child 表明了某個元素,這個元素是它元素的的第一個子元素
:first-of-type
:last-of-type

:nth-clild(n) 選擇器匹配屬於其元素的第 N 個子元素,不論元素的類型
n 能夠是數字、關鍵詞或公式(2,an + b,odd)(n 是計數器(從 0 開始),b 是偏移值)
:nth-last-child(n)倒數
:nth-of-type(n)

屬性選擇器

E[attr]
E[attr=value]
E[attr~=value] 選擇器用於選取屬性值中包含指定詞彙的元素

E[attr^=value] 選擇器匹配屬性值以指定值開頭的每一個元素。
E[attr*=value]
E[attr$=value]

基於關係的選擇器

父子關係

A E 任何是元素A的後代元素E (後代節點指A的子節點,子節點的子節點,以此類推)
A > E 任何元素A的子元素(直接)

兄弟關係

B + E 任何元素B的下一個兄弟元素E(直接)
B ~ E B元素後面的擁有共同父元素的兄弟元素E

.class1.class2 同時包含class1和class2屬性的元素
F#id 具備某id的F元素

E,F 全部E或F元素

僞元素

E:first-line 向文本的首行添加特殊樣式。E:first-letter 向文本的第一個字母添加特殊樣式。E:before 在元素以前添加內容。E:after 在元素以後添加內容。

相關文章
相關標籤/搜索