1. 程式人生 > >css——選擇器 選擇器優先順序 優先順序提升 選擇器權重計算 繼承性

css——選擇器 選擇器優先順序 優先順序提升 選擇器權重計算 繼承性

1、選擇器
:focus——選擇具有焦點的輸入元素
:first-letter——選擇元素的第一個字母
:first-line——選擇元素的第一行
:before——在元素之前插入內容
:after——在元素之後插入內容

id選擇器:#id{ }
命名時,僅數字、字母、下劃線可用,且數字不可開頭,標籤也不可用於id命名
id選擇器不可重複 獨一無二

類選擇器:.className{ }
命名時,僅數字、字母、下劃線可用,且數字不可開頭,標籤也不可用於class命名
一個標籤可用多個類名 共性樣式可以巧用

後代選擇器:空格隔開最上面兩個選擇器 如(.className #id{ }、.className .className{ }、#id #id{ })
只要是後代就可選中(包括重孫)

子元素選擇器:>隔開最上面兩個選擇器 如(.className>#id{ }、.className>.className{ }、#id>#id{ })
類似後代選擇器 不過僅能選中兒子 重孫不可選中

交集選擇器:無空格隔開 選擇器1選擇器2{ }
選擇交集元素 (用的較少)

並集選擇器:逗號隔開 選擇器1,選擇器2,選擇器3{ }
可同時給幾個選擇器定義樣式

兄弟選擇器
1、相鄰兄弟 選擇器1+選擇器2{ }:給1後面緊跟的2設定樣式
2、通用兄弟 選擇器1~選擇器2{ }:給1後面所有的2設定樣式

序選擇器
1、同級別(不區分型別)
:first-child——同級第一個
:last-child——同級最後一個
:nth-child(n)——同級中的第n個
:nth-last-child(n)——同級中倒數第n個
:only-child——選中僅有一個子元素的元素

2、同類型(區分型別)
:first-of-type——同級同類第一個
:last-of-type——同級同類最後一個
:nth-of-type(n)——同級同類中的第n個
:nth-last-of-type(n)——同級同類中倒數第n個
:only-of-type——選中僅有一個子元素(僅限所選這個型別)的元素

注:對於:nth-child()、:nth-of-type()及另外兩個last
可傳入引數 odd—選中所有奇數 even—選中所有偶數
亦或是xn+y 其中x y自定義 選中符合式子的元素(n從零遞增)

屬性選擇器:選擇器[attribute=value]{ }:選擇含有此屬性的元素
例如 p[class=’cc’]{ }
1、以。。。開頭的[attribute^=value] (例如:p[class^=’cc’]{ }選中class以cc開頭的p元素 同下)
2、以。。。結尾的[attribute$=value]
2、包含特定值的[attribute*=value]

內容選擇器
1、:empty——選中既沒文字也無子元素的指定元素
2、:parent——找到有文字或子元素的指定元素
3、:contains(” “)——找到包含” “中文字的指定元素
4、:has(” “)——找到包含” “中子元素的指定元素

萬用字元選擇器:*{ } :給當前頁面所有標籤設定樣式(注:一般不會用 因為降低伺服器速率)

2、選擇器優先順序
id>類>標籤>萬用字元>繼承>瀏覽器預設

3、優先順序提升
!important(僅可直接選中):使得優先順序最大

p{color:red !important;}

1、只能直接選中,不能用於間接選中
2、萬用字元選中標籤也是直接選中的
3、僅提升選中的樣式,而其他樣式不會提升
4、必須寫分號前面

4、選擇器權重計算
id多看id>類名多看類名>標籤多看標籤(都一樣時 誰寫後面聽誰的)萬用字元權重為0 不計入
注:一般只有選擇器直接選中才會用到權重計算

5、繼承性
1、以color/font-/text-/line開頭屬性可繼承
2、只要是後代就可繼承
3、a標籤文字顏色和下劃線無法繼承
4、h標籤的文字大小無法繼承