CSS 選擇器

CSS 選擇器

id 和 class 的使用場景

id 具有唯一性搓扯,class 具有普遍性,可以多次使用座咆。

id 是唯一的,最好不要用仓洼。除非確保網(wǎng)頁中某個元素只有一個介陶。

id 權(quán)重是100,class 權(quán)重是10色建。

id 是一個標(biāo)簽哺呜,用于區(qū)分不同的結(jié)構(gòu)和內(nèi)容。

class 是可重復(fù)的镀岛,盡量在結(jié)構(gòu)內(nèi)部使用弦牡,通常用于樣式定義友驮。

特定一組元素應(yīng)用樣式就用 class。

id 用 #id驾锰,class 用 .class 卸留。

CSS 選擇器

基本選擇器

通配符選擇器 *
id 選擇器 #id
類選擇器 .classname
元素選擇器 element
后代選擇器 .classname .classname,#id .classname椭豫,.classname element
子元素選擇器 element>element
相鄰兄弟元素選擇器 element + element 
群組選擇器 (.classname,.classname,.classname)

偽類選擇器

a:visted耻瑟,a:link,a:hover赏酥,a:focus喳整,a:active,a:checked裸扶,
:after框都,:before

屬性選擇器

a[property]{}

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

MDN 優(yōu)先級

優(yōu)先級就是分配給指定的CSS聲明的一個權(quán)重,它由 匹配的選擇器中的 每一種選擇器類型的 數(shù)值 決定呵晨。

而當(dāng)優(yōu)先級與多個CSS聲明中任意一個聲明的優(yōu)先級相等的時候魏保,CSS中最后的那個聲明將會被應(yīng)用到元素上。

當(dāng)同一個元素有多個聲明的時候摸屠,優(yōu)先級才會有意義谓罗。因為每一個直接作用于元素的CSS規(guī)則總是會接管/覆蓋(take over)該元素從祖先元素繼承而來的規(guī)則。

優(yōu)先級季二,指CSS樣式在瀏覽器中被解析的先后順序檩咱。

id選擇器優(yōu)先級很高,權(quán)值為100
class胯舷、屬性和偽類選擇器的權(quán)值為10
標(biāo)簽選擇器權(quán)值為1
在比較樣式的優(yōu)先級時刻蚯,只需統(tǒng)計選擇符中的id、class和標(biāo)簽名的個數(shù)桑嘶,然后把相應(yīng)的權(quán)值相加即可芦倒,最后根據(jù)結(jié)果排出優(yōu)先級
權(quán)值較大的優(yōu)先級越高
權(quán)值相同的,后定義的優(yōu)先級較高
樣式值含有不翩!important兵扬,優(yōu)先級最高

瀏覽器CSS匹配不是從左到右進(jìn)行查找,而是從右到左進(jìn)行查找口蝠。
比如DIV#divBox p span.red{color:red;}器钟,瀏覽器的查找順序如下:先查找html中所有class='red'的span元素,找到后妙蔗,再查找其父輩元素中是否有p元素傲霸,再判斷p的父元素中是否有id為divBox的div元素,如果都存在則匹配上。
瀏覽器從右到左進(jìn)行查找的好處是為了盡早過濾掉一些無關(guān)的樣式規(guī)則和元素昙啄。

a:link, a:hover, a:active, a:visited 的順序

link和visited必須在最前面穆役,且沒有先后順序,否則link或visited的效果將被覆蓋梳凛。

a:hover 必須被置于 a:link 和 a:visited 之后耿币,才是有效的。

link和visited稱為靜態(tài)偽類韧拒,只能應(yīng)用于超鏈接淹接。

focus、hover叛溢、active 這三個偽類必須是focus塑悼、hover、active的順序楷掉,因為在focus狀態(tài)下厢蒜,也需要觸發(fā)hover和active,而要觸發(fā)active一定要先觸發(fā)hover烹植,所以active要放在hover后面郭怪。

hover、active、focus稱為動態(tài)偽類,可應(yīng)用于任何元素酵幕,但I(xiàn)E7-瀏覽器不支持:focus李根,:hover和:active在IE6-瀏覽器下只支持給a標(biāo)簽設(shè)置。

所以最終的順序只有兩種:link嘴纺、visited败晴、focus、hover栽渴、active或visited尖坤、link、focus闲擦、hover慢味、active。

選擇器舉例

#header{
    // id 選擇器 header
}
.header{
    //class 選擇器 header
}
.header .logo{
    //.header 類的子元素里所有 .logo 的類
}
.header.mobile{
    // 包含 header 和 mobile 的元素墅冷,同時包含
}
.header p, .header h3{
    //header 類下的所有 p 元素以及 h3 元素
}
#header .nav>li{
    //id 為 header 的元素下的類名為 nav 元素的子元素 li纯路,只到子代。
}
#header a:hover{
    //id 為 header 的元素下的所有 a 鏈接 鼠標(biāo)劃過時的樣式寞忿。
}
#header .logo~p{
    //id 為 header 的元素下類名為 logo 的元素下驰唬,子代元素里所有的 p 元素。
}
#header input[type="text"]{
    //id 為 header 的元素下所有帶有 type="text" 的 input 元素。
}

偽類選擇器

a:visted叫编,a:link辖佣,a:hover,a:focus搓逾,a:active卷谈,a:checked,
:after恃逻,:before

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

div :first-child //div 的第一個子元素雏搂。
div :first-of-type //匹配所有子元素中某個類型的第一個。

如果所有的子元素都是不一樣的寇损,那么所有的子元素都將匹配到凸郑。

分析原因

渲染后如下所示:


first-child
first-child

1.父元素下的第一個子元素就是 p ,故渲染正確矛市。
2.一共有兩種類型的元素芙沥,一個是 p ,一個是 h3浊吏。p只有一個而昨,它起效果。
h3 有兩個找田,但只對第一個起作用(bb)歌憨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市墩衙,隨后出現(xiàn)的幾起案子务嫡,更是在濱河造成了極大的恐慌,老刑警劉巖漆改,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件心铃,死亡現(xiàn)場離奇詭異,居然都是意外死亡挫剑,警方通過查閱死者的電腦和手機(jī)去扣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來樊破,“玉大人愉棱,你說我怎么就攤上這事≌芷荩” “怎么了羽氮?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惫恼。 經(jīng)常有香客問我档押,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任令宿,我火速辦了婚禮叼耙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粒没。我一直安慰自己筛婉,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布癞松。 她就那樣靜靜地躺著爽撒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪响蓉。 梳的紋絲不亂的頭發(fā)上硕勿,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音枫甲,去河邊找鬼源武。 笑死,一個胖子當(dāng)著我的面吹牛想幻,可吹牛的內(nèi)容都是我干的粱栖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脏毯,長吁一口氣:“原來是場噩夢啊……” “哼闹究!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起食店,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤渣淤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后叛买,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蹋订,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年率挣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片露戒。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡椒功,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出智什,到底是詐尸還是另有隱情动漾,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布荠锭,位于F島的核電站旱眯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜删豺,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一共虑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧呀页,春花似錦妈拌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至丸氛,卻和暖如春培愁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雪位。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工竭钝, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雹洗。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓香罐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親时肿。 傳聞我的和親對象是個殘疾皇子庇茫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

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

  • 1. class 和 id 的使用場景: id:id選擇器,使用#name定義(name為id名螃成,可任意取名)旦签,使...
    石林濤閱讀 373評論 0 1
  • 其實平時用得多的選擇器無非也就是那么幾個,時間久了寸宏,許多不常用的選擇器就慢慢忘記了宁炫。為了不讓自己忘記這些選擇器,今...
    盛夏晚清風(fēng)閱讀 1,834評論 0 5
  • class 和 id 的使用場景? class 重在樣式的復(fù)用氮凝,重普遍性羔巢。id重在劃分樣式區(qū)域,可以作為樣式表中的...
    南山碼農(nóng)閱讀 374評論 0 0
  • 1 .class 和 id 的使用場景? .class罩阵,類選擇器竿秆。類選擇器可以定義多個元素。當(dāng)你想定義一組元素以相...
    饑人谷_邵征鵬閱讀 366評論 0 0
  • 序 在日常開發(fā)中稿壁,app難免會發(fā)生崩潰幽钢。簡單的崩潰還好說,復(fù)雜的崩潰就需要我們通過解析Crash文件來分析了傅是,解析...
    Mr_Baymax閱讀 2,487評論 0 2