CSS層疊順序
當使用了多個樣式表,樣式表需要爭奪特定選擇符的控制權(quán)。在這些情況下,總會有樣式表的規(guī)則能獲得控制權(quán)。以下的特性將決定互相對立的樣式表的結(jié)果。
! important
規(guī)則可以用指定的! important 特指為重要的。一個特指為重要的樣式會凌駕于與之對立的其它相同權(quán)重的樣式。同樣地,當網(wǎng)頁制作者和讀者都指定了重要規(guī)則時,網(wǎng)頁制作者的規(guī)則會超越讀者的。以下是! important 聲明的例子:
BODY { background: url(bar.gif) white;
background-repeat: repeat-x ! important }
Origin of Rules (Author's vs. Reader's)
正如以前所提及的,網(wǎng)頁制作者和讀者都有能力去指定樣式表。當兩者的規(guī)則發(fā)生沖突,網(wǎng)頁制作者的規(guī)則會凌駕于讀者的其它相同權(quán)重的規(guī)則。而網(wǎng)頁制作者和讀者的樣式表都超越瀏覽器的內(nèi)置樣式表。
網(wǎng)頁制作者應(yīng)該小心地使用! important 規(guī)則,因為它們會超越用戶任何的! important 規(guī)則。例如,一個用戶由于視覺關(guān)系,會要求大字體或指定的顏色,而且這樣的用戶會有可能聲明確定的樣式規(guī)則為! important,因為這些樣式對于用戶閱讀網(wǎng)頁是極為重要的。任何的! important 規(guī)則會超越一般的規(guī)則,所以建議網(wǎng)頁制作者使用一般的規(guī)則以確保有特殊樣式需要的用戶能閱讀網(wǎng)頁。
選擇符規(guī)則: 計算特性
基于它們的特性級別,樣式表也可以超越與之沖突的樣式表,一個較高特性的樣式永遠都凌駕于一個較低特性的樣式。這只不過是計算選擇符的指定個數(shù)的一個統(tǒng)計游戲。
統(tǒng)計選擇符中的ID屬性個數(shù)。
統(tǒng)計選擇符中的CLASS屬性個數(shù)。
統(tǒng)計選擇符中的HTML標記名格式。
最后,按正確的順序?qū)懗鋈齻€數(shù)字,不要加空格或逗號,得到一個三位數(shù)。( 注意,你需要將數(shù)字轉(zhuǎn)換成一個以三個數(shù)字結(jié)尾的更大的數(shù)。)相應(yīng)于選擇符的最終數(shù)字列表可以很容易確定較高數(shù)字特性凌駕于較低數(shù)字的。以下是一個按特性分類的選擇符的列表:
#id1 {xxx} /* a=1 b=0 c=0 --> 特性 = 100 */
UL UL LI.red {xxx} /* a=0 b=1 c=3 --> 特性 = 013 */
LI.red {xxx} /* a=0 b=1 c=1 --> 特性 = 011 */
LI {xxx} /* a=0 b=0 c=1 --> 特性 = 001 */
特性的順序
為了方便使用,當兩個規(guī)則具同樣權(quán)重時,取后面的那個。
本文地址:http://m.likemindfilms.com/tutorial/wd2232.html