成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解CSS優(yōu)先級(jí)的讀法

開(kāi)發(fā) 前端
本文向大家描述一下CSS優(yōu)先級(jí)的讀法,對(duì)CSS優(yōu)先級(jí)的讀法,應(yīng)該是以“組”來(lái)分,這個(gè)組之間相互獨(dú)立,從左到右進(jìn)行對(duì)比。它們成組出現(xiàn),以逗號(hào)分隔。

你對(duì)對(duì)CSS優(yōu)先級(jí)的讀法是否熟悉,這里和大家分享一下,CSS優(yōu)先級(jí)包含四個(gè)級(jí)別(文內(nèi)選擇符,ID選擇符,Class選擇符,元素選擇符)以及各級(jí)別出現(xiàn)的次數(shù)。根據(jù)這四個(gè)級(jí)別出現(xiàn)的次數(shù)計(jì)算得到CSS的優(yōu)先級(jí)。

CSS進(jìn)階:詳解CSS優(yōu)先級(jí)的讀法

最近看到篇對(duì)CSS優(yōu)先級(jí)有比較好的解釋的blog,轉(zhuǎn)載過(guò)來(lái)供大家學(xué)習(xí)參考。詳解CSS優(yōu)先級(jí)的讀法,CSS優(yōu)先級(jí)包含四個(gè)級(jí)別(文內(nèi)選擇符,ID選擇符,Class選擇符,元素選擇符)以及各級(jí)別出現(xiàn)的次數(shù)。根據(jù)這四個(gè)級(jí)別出現(xiàn)的次數(shù)計(jì)算得到CSS的優(yōu)先級(jí)。

  對(duì)CSS優(yōu)先級(jí)的讀法,應(yīng)該是以“組”來(lái)分,這個(gè)組之間相互獨(dú)立,從左到右進(jìn)行對(duì)比。它們成組出現(xiàn),以逗號(hào)分隔。

ExampleSourceCode

  1. selector(a,b,c,d)  
  2.  
  3. compare:↑,↑,↑,↑  
  4.  

  selector(a,b,c,d)正如w3c.org中原文所示,分為a,b,c,d四組,全為正整婁,默認(rèn)為0,對(duì)應(yīng)于不同的選擇器結(jié)構(gòu)和組成形式。在選擇器之間的優(yōu)先級(jí)進(jìn)行對(duì)比時(shí),從左到右1對(duì)1對(duì)比,當(dāng)比出有大者時(shí)即可停止比較。

ExampleSourceCode

  1. li.red.level{}/*a=0b=0c=2d=1->specificity=0,0,2,1*/  
  2. /*compare↑,↑,√*/  
  3. h1+*[rel=up]{}/*a=0b=0c=1d=1->specificity=0,0,1,1*/  
  4. /*compare↑,↑,↑,√*/  
  5. ulolli.red{}/*a=0b=0c=1d=3->specificity=0,0,1,3*/  
  6. /*compare↑,↑,√*/  
  7. #x34y{}/*a=0b=1c=0d=0->specificity=0,1,0,0*/  
  8. /*compare↑,√*/  
  9. style=""/*a=1b=0c=0d=0->specificity=1,0,0,0*/  
  10.  

(上表中,↑表示還要進(jìn)行比較,√表示從此處已得到了結(jié)果)

  再有,只要正確書(shū)寫,僅從優(yōu)先級(jí)中大概知道選擇器結(jié)構(gòu)形式了,如:

  1,0,0,0表示是元素內(nèi)的style;

  0,2,1,1表示是一個(gè)由兩個(gè)ID選擇器,1個(gè)類或偽類或?qū)傩赃x擇器,以及一個(gè)元素選擇器組成的選擇器。#p#

CSS優(yōu)先級(jí)規(guī)則的細(xì)節(jié):

  在糾正讀法后,才能開(kāi)始講詳細(xì)的規(guī)則:

  a組數(shù)值只有把CSS寫進(jìn)style屬性時(shí)才會(huì)為1,否則為0.寫進(jìn)style的樣式聲明其實(shí)不算是個(gè)選擇器,所以這里面的b,c,d組值均為0,只有真正的選擇器才會(huì)有b,c,d組值。

  b組數(shù)值決定于ID選擇器#ID,有多少個(gè)ID選擇器,并會(huì)進(jìn)行此組數(shù)值累加;

  c組數(shù)值決定于類、偽類和屬性選擇符,并會(huì)進(jìn)行該組數(shù)值累加;

  d組數(shù)值決定于元素名,即元素選擇器,并會(huì)進(jìn)行該組數(shù)值累加;

  注意,這四組數(shù)值分別對(duì)應(yīng)于不同類型的選擇器,互不影響,根據(jù)讀法法則進(jìn)行比較。這里沒(méi)有討論到!important,就近原則和繼承,也沒(méi)有實(shí)例代碼,歡迎大家來(lái)W3Cbbs.com共同討論!

下面是列子:CSS優(yōu)先級(jí)問(wèn)題

  CSS優(yōu)先級(jí)包含四個(gè)級(jí)別(文內(nèi)選擇符,ID選擇符,Class選擇符,元素選擇符)以及各級(jí)別出現(xiàn)的次數(shù)。根據(jù)這四個(gè)級(jí)別出現(xiàn)的次數(shù)計(jì)算得到CSS的優(yōu)先級(jí)。

  CSS優(yōu)先級(jí)的計(jì)算規(guī)則如下:

◆頁(yè)面中定義的樣式,加1,0,0,0

◆每個(gè)ID選擇符(如#id),加0,1,0,0

◆每個(gè)Class選擇符(如.class)、每個(gè)屬性選擇符(如[attribute=])、每個(gè)偽類(如:hover)加0,0,1,0

◆每個(gè)元素選擇符(如p)或偽元素選擇符(如:firstchild)等,加0,0,0,1

  然后,將這四個(gè)數(shù)字分別累加,就得到每個(gè)CSS定義的優(yōu)先級(jí)的值,然后從左到右逐位比較大小,數(shù)字大的CSS樣式的優(yōu)先級(jí)就高。
  
例子:
  CSS文件或