CSS三大特性—— 繼承餐茵、 優(yōu)先級和層疊。

CSS三大特性——繼承述吸、 優(yōu)先級和層疊忿族。

繼承:即子類元素繼承父類的樣式;

優(yōu)先級:是指不同類別樣式的權(quán)重比較;

層疊:是說當數(shù)量相同時,通過層疊(后者覆蓋前者)的樣式蝌矛。

css選擇符分類

首先來看一下css選擇符(css選擇器)有哪些?

1.標簽選擇器(如:body,div,p,ul,li)

2.類選擇器(如:class="head",class="head_logo")

3.ID選擇器(如:id="name",id="name_txt")

4.全局選擇器(如:*號)

5.組合選擇器(如:.head .head_logo,注意兩選擇器用空格鍵分開)

6.后代選擇器 (如:#head .nav ul li 從父集到子孫集的選擇器)

7.群組選擇器 div,span,img {color:Red} 即具有相同樣式的標簽分組顯示

8.繼承選擇器(如:div p,注意兩選擇器用空格鍵分開)

9.偽類選擇器(如:就是鏈接樣式,a元素的偽類道批,4種不同的狀態(tài):link、visited朴读、active屹徘、hover。)

10.字符串匹配的屬性選擇符(^ $ *三種衅金,分別對應(yīng)開始噪伊、結(jié)尾、包含)

11.子選擇器 (如:div>p ,帶大于號>)

12.CSS 相鄰兄弟選擇器器 (如:h1+p,帶加號+)

css優(yōu)先級

當兩個規(guī)則都作用到了同一個html元素上時氮唯,如果定義的屬性有沖突鉴吹,那么應(yīng)該用誰的值的,CSS有一套優(yōu)先級的定義惩琉。

不同級別

在屬性后面使用 !important 會覆蓋頁面內(nèi)任何位置定義的元素樣式豆励。

作為style屬性寫在元素內(nèi)的樣式

id選擇器

類選擇器

標簽選擇器

通配符選擇器

瀏覽器自定義或繼承

? ? ? 總結(jié)排序:!important > 行內(nèi)樣式>ID選擇器 > 類選擇器 > 標簽 > 通配符 > 繼承 > 瀏覽器默認屬性

同一級別

同一級別中后寫的會覆蓋先寫的樣式

上面的級別還是很容易看懂的,但是有時候有些規(guī)則是多個級別的組合,像這樣

div.test{

? ? ? ? ? ? background-COLOR:#a00;

? ? ? ? ? ? width:100px;

? ? ? ? ? ? height: 100px;

? ? ? ? }

.test.test2{

? ? ? ? ? ? background-COLOR:#0e0;

? ? ? ? ? ? width:100px;

? ? ? ? ? ? height: 100px;

? ? ? ? }


Document? ? ? ?

div.test{?? background-COLOR:#a00;?? width:100px;? ? height: 100px;}? ? ? ?

.test.test2{? ? background-COLOR:#0e0;? ? width:100px;? ?? height: 100px;}? ??

到底div是應(yīng)用那條規(guī)則呢良蒸,有個簡單的計算方法(權(quán)值實際并不是按十進制技扼,用數(shù)字表示只是說明思想,一萬個class也不如一個id權(quán)值高)

內(nèi)聯(lián)樣式表的權(quán)值為 1000

ID 選擇器的權(quán)值為 100

Class 類選擇器的權(quán)值為 10

HTML 標簽選擇器的權(quán)值為 1

?我們可以把選擇器中規(guī)則對應(yīng)做加法嫩痰,比較權(quán)值剿吻,如果權(quán)值相同那就后面的覆蓋前面的了,div.class的權(quán)值是1+10=11串纺,而.test1 .test2的權(quán)值是10+10=20丽旅,所以div會應(yīng)用.test1 .test2變成綠色

另外一種理解方式:

CSS優(yōu)先級:是由四個級別和各級別的出現(xiàn)次數(shù)決定的。

四個級別分別為:行內(nèi)選擇符纺棺、ID選擇符榄笙、類別選擇符、元素選擇符祷蝌。

優(yōu)先級的算法:

每個規(guī)則對應(yīng)一個初始"四位數(shù)":0茅撞、0、0杆逗、0

若是 行內(nèi)選擇符乡翅,則加1、0罪郊、0蠕蚜、0

若是 ID選擇符,則加0悔橄、1靶累、0、0

若是 類選擇符/屬性選擇符/偽類選擇符癣疟,則分別加0挣柬、0、1睛挚、0

若是 元素選擇符/偽元素選擇符邪蛔,則分別加0、0扎狱、0侧到、1

算法:將每條規(guī)則中,選擇符對應(yīng)的數(shù)相加后得到的”四位數(shù)“淤击,從左到右進行比較匠抗,大的優(yōu)先級越高。

需注意的:

①污抬、!important的優(yōu)先級是最高的汞贸,但出現(xiàn)沖突時則需比較”四位數(shù)“;

②、優(yōu)先級相同時,則采用就近原則矢腻,選擇最后出現(xiàn)的樣式;

③门驾、繼承得來的屬性,其優(yōu)先級最低;

!important > 行內(nèi)樣式>ID選擇器 > 類選擇器 > 標簽 > 通配符 > 繼承 > 瀏覽器默認屬性

*css選擇器使用強烈建議采用低權(quán)重原則踏堡,利于充分發(fā)揮css的繼承性猎唁,復(fù)用性,模塊化顷蟆、組件化。

CSS選擇器的解析原則

? ? ? ? ?以前一直認為選擇器的定位DOM元素是從左向右的方向腐魂,查看了網(wǎng)上的相關(guān)資料之后才發(fā)現(xiàn)原來自己一直都是錯的帐偎。鄭重的聲明選擇器定位DOM元素是從右往左的方向,這樣的好處是盡早的過濾掉一些無關(guān)的樣式規(guī)則和元素 蛔屹。

簡潔削樊、高效的css

? ? ? ? 所謂高效就是讓瀏覽器查找更少的元素標簽來確定匹配的style元素。

? ? ? 1.不要再ID選擇器前使用標簽名

? ? ? ? 解釋:ID選擇是唯一的兔毒,加上標簽名相當于畫蛇添足了漫贞,沒必要。

????? 2.不要在類選擇器前使用標簽名

? ? ? 解釋:如果沒有相同的名字出現(xiàn)就是沒必要育叁,但是如果存在多個相同名字的類選擇器則有必要添加標簽名防止混淆如(p.colclass{color:red;} 和 span.colclass{color:red;}

??????3.盡量少使用層級關(guān)系迅脐;

? ? ? ? ?#divclass p.colclass{color:red;}改為 ?.colclass{color:red;}

??????4.使用類選擇器代替層級關(guān)系(如上)?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市豪嗽,隨后出現(xiàn)的幾起案子谴蔑,更是在濱河造成了極大的恐慌,老刑警劉巖龟梦,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隐锭,死亡現(xiàn)場離奇詭異,居然都是意外死亡计贰,警方通過查閱死者的電腦和手機钦睡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躁倒,“玉大人荞怒,你說我怎么就攤上這事∮8龋” “怎么了挣输?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長福贞。 經(jīng)常有香客問我撩嚼,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任完丽,我火速辦了婚禮恋技,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逻族。我一直安慰自己蜻底,他們只是感情好,可當我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布聘鳞。 她就那樣靜靜地躺著薄辅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抠璃。 梳的紋絲不亂的頭發(fā)上站楚,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天,我揣著相機與錄音搏嗡,去河邊找鬼窿春。 笑死,一個胖子當著我的面吹牛采盒,可吹牛的內(nèi)容都是我干的旧乞。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼磅氨,長吁一口氣:“原來是場噩夢啊……” “哼尺栖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悍赢,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤决瞳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后左权,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皮胡,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年赏迟,在試婚紗的時候發(fā)現(xiàn)自己被綠了屡贺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡锌杀,死狀恐怖甩栈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情糕再,我是刑警寧澤量没,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站突想,受9級特大地震影響殴蹄,放射性物質(zhì)發(fā)生泄漏究抓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一袭灯、第九天 我趴在偏房一處隱蔽的房頂上張望刺下。 院中可真熱鬧,春花似錦稽荧、人聲如沸橘茉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畅卓。三九已至,卻和暖如春构挤,著一層夾襖步出監(jiān)牢的瞬間髓介,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工筋现, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人箱歧。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓矾飞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呀邢。 傳聞我的和親對象是個殘疾皇子洒沦,可洞房花燭夜當晚...
    茶點故事閱讀 45,926評論 2 361

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