CSS選擇器與優(yōu)先級猪叙、繼承

1娇斩、class 和 id 的使用場景?

  1. class 重在樣式的復用,重普遍性穴翩。
  2. id重在劃分樣式區(qū)域犬第,可以作為樣式表中的命名空間來管理樣式。
  3. id也可以指定某一個特殊元素的樣式芒帕,重特殊性歉嗓。
  4. id選擇器是不支持空格分隔的id列表的,不像class
  5. 大小寫敏感

注意:在html中聲明多個一樣的ID的元素背蟆,在css中該ID的樣式鉴分,這些元素則都會生效哮幢。而在javascript中用DOM選擇器只會選到第一個元素。

2志珍、CSS選擇器常見的有幾種?

1. 通用符號選擇器
* {
    color:red;    //整個頁面所以元素顏色均為紅色
}
2. 標簽元素選擇器:直接寫標簽名element
div{}
p{}
3. 類選擇器 與 id選擇器
.classname{}    
    *.class{}    //可以忽略通配符號*
    .foo.error{}    //復合類選擇器
#id
    *#id{}    //可以忽略通配符號*
4. 屬性選擇器
[attr]    //包含attr屬性的元素
p[attr1][attr2]    //包含attr1和attr2屬性的p元素
p[attr=1]    //包含attr屬性橙垢,并且值為1的p標簽元素
[attr~="abc"]    //只需attr有包含abc即可被選取。部分屬性值選擇器伦糯,可用于任何屬性上而不是只在class上
[foo^="bar"]    //選擇foo屬性以bar開頭的所有元素
[foo$="bar"]    //選擇foo屬性以bar結(jié)尾的所有元素
[foo*="bar"]    //選擇foo屬性中包含bar的所有元素
[foo | ="bar"]    //選擇foo屬性中等于bar或者以bar-開頭的所有元素
5. 后代選擇器
h1 em{}    //選擇h1的后代em
h1>em{}    //選擇h1的兒子em
a+b    //相鄰兄弟選擇器柜某,選擇a與b相鄰的b元素
6. 偽類選擇器、偽元素選擇器

以下選擇器優(yōu)先級相同敛纲,考慮他們會相互覆蓋喂击,建議按照這個順序:

鏈接偽類\動態(tài)偽類
a:link    //匹配所有未被點擊的鏈接
a:visited    //匹配所有已被點擊的鏈接(css只能為其設(shè)置顏色,為了不泄露用戶點擊過網(wǎng)站的隱私)
a:focus    //匹配獲得當前焦點的E元素
a:hover    //鼠標懸停其上的a元素
a:active    //匹配鼠標已經(jīng)其上按下淤翔、還沒有釋放的元素

ps:記這順序有個小招數(shù)翰绊,“LoVe? HA!”
pps:LV HA旁壮,買了個LV包包监嗜,邊走邊笑HA

位置偽類
a:first-child    //匹配元素a的第一個子元素
a:last-child    //匹配元素a的最后一個子元素
a:nth-child(1)
a:nth-last-child(1)    //odd(奇數(shù))/even(偶數(shù))

:first-letter    //選擇一段文本的第一個字母
:first-line    //選擇一段文本的第一行文本

a::before
a::after     //匹配a元素之前插入生成的內(nèi)容

E:lang(c)       //匹配lang屬性等于c的E元素
E:enabled    //匹配表單中可用的元素
E:disabled    //匹配表單中禁用的元素
E:checked    //匹配表單中被選中的radio或checkbox元素
E::selection    //匹配用戶當前選中的元素

:not(p.a#b)    //選擇器取反

Odd 和 even 是可用于匹配下標是奇數(shù)或偶數(shù)的子元素的關(guān)鍵詞(第一個子元素的下標是 1)。

如下代碼寡具,0dd為奇數(shù) tr元素指定紅色秤茅,even為偶數(shù) tr元素指定黃色背景色:

tr:nth-child(even){
    background: yellow;
}
tr:nth-child(Odd){
    background: red;
}
odd even

3、選擇器的優(yōu)先級

從高到低排序

  1. 在屬性后面使用 !important 會覆蓋頁面內(nèi)任何位置定義的元素樣式
  2. 作為style屬性寫在元素標簽上的內(nèi)聯(lián)樣式
  3. id選擇器#id
  4. 類選擇器.class
  5. 偽類選擇器a:hover
  6. 屬性選擇器[title="foo"]
  7. 標簽選擇器p a h1
  8. 通配符選擇器*
  9. 瀏覽器自定義

復雜場景

0 0 0 0
行內(nèi)樣式 <div style="xxx"></div> ID 選擇器 類童叠,屬性選擇器和偽類選擇器 標簽選擇器框喳、偽元素
比如
<p style="color: green;">    //1,0,0,0
#id{color:red}    //0,1,0,0
h2.grape{color:red}    //0,0,1,1
h1{color:red}    //0,0,0,1

使用ID選擇器和屬性選擇器 選擇同一個元素區(qū)別在于ID選擇器的優(yōu)先級更高
h1#page-title    //0,1,0,1    winner!   
h1[id="page-title"]    //0,0,1,1 
ps:四位的無窮進制數(shù);通配符和連接符如 > + ~ 等特殊性為0不參與優(yōu)先級的計算厦坛;繼承無特殊性

4五垮、什么是 CSS 繼承? 哪些屬性能繼承,哪些不能杜秸?

CSS 繼承:子元素沒有指定值的情況繼承父元素的屬性放仗。

所有元素可繼承:visibility和cursor
內(nèi)聯(lián)元素可繼承:letter-spacing、word-spacing撬碟、white-space诞挨、line-height、color呢蛤、font惶傻、font-family、font-size其障、font-style银室、font-variant、font-weight、text-decoration蜈敢、text-transform辜荠、direction
終端塊狀元素可繼承:text-indent和text-align
列表元素可繼承:list-style、list-style-type抓狭、list-style-position伯病、list-style-image。
表格元素可繼承:border-collapse

不可繼承的:display否过、margin狱从、border、padding叠纹、background、height敞葛、min-height誉察、max-height、width惹谐、min-width持偏、max-width、overflow氨肌、position鸿秆、left、right怎囚、top卿叽、bottom、z-index恳守、float考婴、clear、table-layout催烘、vertical-align沥阱、page-break-after、page-bread-before和unicode-bidi

總結(jié):一般一些字體呀伊群,文本呀考杉,顏色等的設(shè)置都是可繼承屬性;非繼承屬性大部分都是一些和定位呀舰始,浮動呀崇棠,盒子模型呀等有關(guān)

關(guān)于繼承無特殊性

繼承沒有特殊性

因為通配符適用所有元素,而且有0特殊性蔽午,而繼承值根本沒有特殊性易茬,因此<em>顯示的顏色為紅色

聲明權(quán)重排序

  1. 讀者的重要聲明
  2. 作者的重要聲明
  3. 作者的普通聲明
  4. 讀者的普通聲明
  5. 用戶代理聲明

5、以下選擇器分別是什么意思?

6、div:first-child與div:first-of-type的作用和區(qū)別?

1抽莱、div:first-child 匹配父元素下范抓,作為第一個子元素的div元素
2、div:first-of-type 匹配父元素的子元素中食铐,第一個div元素

div:first-child 和 div:first-of-type 區(qū)別

.item1:first-child 匹配class名為item1的第一個元素為紅色
.item1:first-of-type 匹配class名為item1不同類型元素的第一個匕垫,比如第一個<p>標簽,第一個<h3>背景樣式為藍色

7虐呻、div :first-child與div :first-of-type的的作用和區(qū)別(注意空格的作用)?

1象泵、div :first-child 匹配所有div元素內(nèi)所有元素中屬于其父元素的首個子元素
2、div :first-of-type 匹配所有div元素內(nèi)所有元素中屬于其父元素的首個類型的子元素

css選擇器32關(guān)小游戲
牢記31種CSS選擇器用法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末斟叼,一起剝皮案震驚了整個濱河市偶惠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌朗涩,老刑警劉巖忽孽,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谢床,居然都是意外死亡兄一,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門识腿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來出革,“玉大人,你說我怎么就攤上這事渡讼÷钍” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵成箫,是天一觀的道長栖雾。 經(jīng)常有香客問我,道長伟众,這世上最難降的妖魔是什么析藕? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮凳厢,結(jié)果婚禮上账胧,老公的妹妹穿的比我還像新娘。我一直安慰自己先紫,他們只是感情好治泥,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遮精,像睡著了一般居夹。 火紅的嫁衣襯著肌膚如雪败潦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天准脂,我揣著相機與錄音劫扒,去河邊找鬼。 笑死狸膏,一個胖子當著我的面吹牛沟饥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播湾戳,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼贤旷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砾脑?” 一聲冷哼從身側(cè)響起幼驶,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎韧衣,沒想到半個月后县遣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡汹族,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了其兴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顶瞒。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖元旬,靈堂內(nèi)的尸體忽然破棺而出榴徐,到底是詐尸還是另有隱情,我是刑警寧澤匀归,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布坑资,位于F島的核電站,受9級特大地震影響穆端,放射性物質(zhì)發(fā)生泄漏袱贮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一体啰、第九天 我趴在偏房一處隱蔽的房頂上張望攒巍。 院中可真熱鬧,春花似錦荒勇、人聲如沸柒莉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兢孝。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跨蟹,已是汗流浹背雳殊。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留喷市,地道東北人相种。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像品姓,于是被迫代替她去往敵國和親寝并。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.class 和 id 的使用場景? class:類選擇器腹备,一個標簽可以有多個類且同一個類可以用到不同的標簽上衬潦,...
    饑人谷_兔子君閱讀 1,194評論 0 0
  • 1、class和id的使用場景分別是什么植酥? 首先镀岛,一個HTML文件中class名字可以有多個相同的,但是id的名字...
    李博洋li閱讀 903評論 0 1
  • 1.class 和 id 的使用場景? 兩者都能選取DOM節(jié)點并給DOM節(jié)點添加樣式友驮,但是W3C標準里規(guī)定頁面中只...
    饑人谷_米彌輪閱讀 393評論 0 1
  • id與class的使用場景 id選擇器漂羊,匹配特定id的元素類選擇器,匹配class包含(不是等于)特定類的元素id...
    姚小帥閱讀 324評論 0 0
  • class 和 id 的使用場景 class:一個標簽可以有多個class且同一個class可以用到不同的標簽上卸留,...
    尾巴尾巴尾巴閱讀 419評論 0 0