CSS權(quán)重問題詳解(含id撬腾、class螟蝙、元素、偽類民傻、偽元素等)

CSS又名層疊樣式表胰默,是由一個個樣式規(guī)則組成,而每一個樣式規(guī)則又可以分為兩部分:選擇符與聲明(或叫樣式)漓踢。

選擇符就是CSS的選擇器牵署,用來對特定的元素進行樣式設(shè)置。一個元素的子元素能繼承該元素的樣式喧半,但如果子元素設(shè)置了樣式奴迅,也能覆寫繼承下來的樣式,就像板頁巖這樣累在一起挺据。而如何讓元素顯示出想要的樣式取具,我們就必須對權(quán)重這個概念有所了解。

權(quán)重你可以說是針對樣式規(guī)則的扁耐,也可以說針對選擇符暇检。之所以這樣說,因為有一個重要的標(biāo)識符! important可以放到樣式聲明的最后婉称,用來無視本文重點說的權(quán)重等級块仆。我覺得最好還是不要用這東西构蹬,用多了會嚴(yán)重擾亂CSS的權(quán)重等級。

現(xiàn)有的規(guī)則一般是這么定的:
1悔据、將一個樣式的權(quán)重分為5級庄敛,初始值為(0,0蜜暑,0,0策肝,0)肛捍。
2、第一個值代表的是!important之众,如果這個樣式上面有!important就算是1拙毫,不然是0。
3棺禾、第二個是代表的在html中直接作用在節(jié)點上的內(nèi)聯(lián)樣式缀蹄,如果這個樣式是內(nèi)聯(lián)樣式,就是1膘婶,不然是0缺前。
4、第三個值是id選擇器悬襟,如果這個樣式是在id選擇器中的就+1衅码。前面選擇器中有多少個id選擇器,每個都+1脊岳。
5逝段、第四個值是class選擇器、屬性選擇器割捅,該樣式所在的選擇器每有一個class選擇器奶躯、屬性選擇器,都+1亿驾。
6嘹黔、第五個值是標(biāo)簽選擇器,該樣式前面每有一個莫瞬,都+1参淹。

在都確認(rèn)完之后,從第一個值開始對比乏悄,只要值比別的大浙值,那么這個樣式就是權(quán)重最重的。如果第一個值一樣檩小,則依次比較下一個值开呐。

這基本就是我整理到的網(wǎng)上的幾乎全部樣式權(quán)重了,我看的還挺清楚,覺得自己都明白了筐付。直到我突然碰到了這么一段代碼卵惦。

<!DOCTYPE html>
<html>
<head>
    <title>css權(quán)重</title>
</head>
<style type="text/css">
    #a {
        color: white;
    }
    .b {
        color: red;
    }
    .b:hover {
        color: blue;
    }
    .b:first-letter {
        color: gray;
    }
    .b:first-line {
        color: #eee;
    }
    div.b {
        color: orange;
    }
    .b.c {
        color: yellow;
    }
</style>
<body>
<div class="b c d" id="a">來自馬三立的相聲,也是馬三立最著名的段子之一瓦戚。馬三立是深受廣大民眾喜愛的著名表演藝術(shù)家沮尿、相聲“泰斗”。祖籍甘肅省永昌较解,生于北京畜疾,回族。他12歲跟父親馬德祿學(xué)藝印衔,后拜著名相聲演員周德山(周蛤蟆)為師啡捶,演出的傳統(tǒng)相聲有200多個。</div>
</body>
</html>

我被這:hover奸焙,以及:first-line給直接難住了瞎暑。對于這些偽類偽元素,我一向認(rèn)為這些東西都是凌駕于整套css權(quán)重體系的与帆。但是事實不是這樣了赌。

結(jié)果是,:hover的權(quán)重比不過#a玄糟,跟.b.c權(quán)重平級揍拆,比div.b權(quán)重要高。這么一看這個在我前面寫的權(quán)重體系中跟class選擇器茶凳、屬性選擇器平齊嫂拴。我覺得偽類偽類,實際上就是一個class類贮喧,雖然在使用上有本質(zhì)區(qū)別筒狠,但是在設(shè)計上可能就是同一類型,所以會直接跟class在同一層級中箱沦。

:first-line和:first-child均不受任何影響辩恼,即使在#a上加上!important,也是一樣顯示自己獨立的樣式谓形。這兩個偽元素灶伊,實際上像是在這個元素底下偷偷地聲明了一個span元素,然后這個span元素繼承了所有的父級元素屬性寒跳,但是聲明在自己元素上面的樣式是會蓋住繼承下來的屬性的聘萨。所以看起來他們的權(quán)重最高。

大家如果感興趣的話建議還是跑一下代碼童太,自己試驗一下比較好米辐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胸完,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子翘贮,更是在濱河造成了極大的恐慌赊窥,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狸页,死亡現(xiàn)場離奇詭異锨能,居然都是意外死亡,警方通過查閱死者的電腦和手機芍耘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門址遇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人齿穗,你說我怎么就攤上這事傲隶〗嚷桑” “怎么了窃页?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長复濒。 經(jīng)常有香客問我脖卖,道長,這世上最難降的妖魔是什么巧颈? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任畦木,我火速辦了婚禮,結(jié)果婚禮上砸泛,老公的妹妹穿的比我還像新娘十籍。我一直安慰自己,他們只是感情好唇礁,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布勾栗。 她就那樣靜靜地躺著,像睡著了一般盏筐。 火紅的嫁衣襯著肌膚如雪围俘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天琢融,我揣著相機與錄音界牡,去河邊找鬼。 笑死漾抬,一個胖子當(dāng)著我的面吹牛宿亡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纳令,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼她混,長吁一口氣:“原來是場噩夢啊……” “哼烈钞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坤按,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤毯欣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后臭脓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酗钞,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年来累,在試婚紗的時候發(fā)現(xiàn)自己被綠了砚作。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘹锁,死狀恐怖葫录,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情领猾,我是刑警寧澤米同,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站摔竿,受9級特大地震影響面粮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜继低,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一熬苍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袁翁,春花似錦柴底、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至年柠,卻和暖如春凿歼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背冗恨。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工答憔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掀抹。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓虐拓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親傲武。 傳聞我的和親對象是個殘疾皇子蓉驹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

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