總的原則
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="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 在元素以後添加內容。