欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CSS樣式覆蓋規(guī)則全面了解

  發(fā)布時(shí)間:2016-08-05 09:29:15   作者:佚名   我要評論
下面小編就為大家?guī)硪黄狢SS樣式覆蓋規(guī)則全面了解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦

大家都知道CSS的全稱叫做“層疊樣式表”,但估計(jì)很多人都不知道“層疊”二字的含義。其實(shí),“層疊”指的就是樣式的覆蓋,當(dāng)一個(gè)元素被運(yùn)用上多種樣式,并且出現(xiàn)重名的樣式屬性時(shí),瀏覽器必須從中選擇一個(gè)屬性值,這個(gè)過程就叫“層疊”。樣式覆蓋(這種叫法更大眾化些)遵循一定的規(guī)則,之前我對這個(gè)規(guī)則一直似懂非懂的,直到這幾天看了”CSS: The Missing Manual”,才豁然開朗。下面是我的一些學(xué)習(xí)筆記。

首先需要明確的是,很多情況都會導(dǎo)致一個(gè)元素被運(yùn)用上多種樣式,樣式覆蓋的規(guī)則也需要根據(jù)不同的情況來定,具體規(guī)則如下。

規(guī)則一:由于繼承而發(fā)生樣式?jīng)_突時(shí),最近祖先獲勝。

CSS的繼承機(jī)制使得元素可以從包含它的祖先元素中繼承樣式,考慮下面這種情況:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <html>  
  2. <head>  
  3. <title>rule 1</title>  
  4. <style>  
  5. body {color:black;}   
  6. p {color:blue;}   
  7. </style>  
  8. </head>  
  9. <body>  
  10.     <p>welcome to <strong>gaodayue的網(wǎng)絡(luò)日志</strong></p>  
  11. </body>  
  12. </html>  

strong分別從body和p中繼承了color屬性,但是由于p在繼承樹上離strong更近,因此strong中的文字最終繼承p的藍(lán)色。

規(guī)則二:繼承的樣式和直接指定的樣式?jīng)_突時(shí),直接指定的樣式獲勝。

在上面的例子中,假如還指定了strong元素的樣式,如:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. strong {color:red;}   

那么根據(jù)規(guī)則二,strong中的文字最終顯示為紅色。

規(guī)則三:直接指定的樣式發(fā)生沖突時(shí),樣式權(quán)值高者獲勝。

樣式的權(quán)值取決于樣式的選擇器,權(quán)值定義如下表。

CSS選擇器 權(quán)值

標(biāo)簽選擇器 1
類選擇器 10
ID選擇器 100
內(nèi)聯(lián)樣式 1000
偽元素(:first-child等) 1
偽類(:link等) 10

可以看到,內(nèi)聯(lián)樣式的權(quán)值>>ID選擇器>>類選擇器>>標(biāo)簽選擇器,除此以外,后代選擇器的權(quán)值為每項(xiàng)權(quán)值之和,比如”#nav .current a”的權(quán)值為100 + 10 + 1 = 111。

規(guī)則四:樣式權(quán)值相同時(shí),后者獲勝。

考慮下面這種情況

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <p  
  2.   
  3. class="byline">Written   
  4.  by <a  
  5.   
  6. class="email"  
  7.   
  8. href="mailto:jean@cosmofarmer.   
  9.  com">Jean   
  10.  Graine de Pomme</a></p>    
  11. 12 .byline   
  12.  a {color:red;}p   
  13.  .email {color:blue;}    

“.byline a”與”p .email”都直接指定了上面的a元素,且權(quán)值都為11,根據(jù)規(guī)則四,最終顯示藍(lán)色。

由于樣式表可以是外部的,也可以是內(nèi)部的,規(guī)則四提醒我們要注意外部樣式表引入的順序(及<link>元素的順序),以及外部樣式表與內(nèi)部樣式表的出現(xiàn)位置。一般來說,內(nèi)部樣式表出現(xiàn)在所有外部樣式表的引入之后,一般是在</head>之前。

規(guī)則五:!important的樣式屬性不被覆蓋。

!important可以看做是萬不得已的時(shí)候,打破上述四個(gè)規(guī)則的”金手指”。如果你一定要采用某個(gè)樣式屬性,而不讓它被覆蓋的,可以在屬性值后加上!important,以規(guī)則四的例子為例,”.byline a {color:red !important;}”可以強(qiáng)行使鏈接顯示紅色。大多數(shù)情況下都可以通過其他方式來控制樣式的覆蓋,不能濫用!important。

以上這篇CSS樣式覆蓋規(guī)則全面了解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • css文件中的樣式類被覆蓋,js文件中的變量未定義問題

    這篇文章主要介紹了css文件中的樣式類被覆蓋,js文件中的變量未定義問題的相關(guān)資料,需要的朋友可以參考下
    2016-04-27
  • css樣式加載順序及覆蓋順序深入理解

    很多的新手朋友們對css樣式加載順序和覆蓋順序的理解有所偏差,下面用示例為大家詳細(xì)的介紹下,感興趣的朋友不要錯(cuò)過
    2013-12-19
  • CSS 樣式覆蓋原理示例介紹

    對同一個(gè)標(biāo)簽設(shè)置多個(gè)相同屬性,但是值不一樣,結(jié)果會是怎樣呢?到底是誰覆蓋了誰,下面為大家詳細(xì)解讀,有此需求的朋友可以參考下,希望對大家有所幫助
    2013-08-18
  • CSS層疊樣式表之CSS解析機(jī)制的優(yōu)先級及樣式覆蓋問題探討

    多重樣式(Multiple Styles): 如果外部樣式、內(nèi)部樣式和內(nèi)聯(lián)樣式同時(shí)應(yīng)用于同一個(gè)元素,就是使多重樣式的情況.有個(gè)例外的情況,就是如果外部樣式放在內(nèi)部樣式的后面,則
    2013-02-01
  • CSS樣式覆蓋的操作代碼

    在頁面中,我們常用id、class以及內(nèi)聯(lián)樣式表來設(shè)置我們的組件CSS,在網(wǎng)頁中css樣式根據(jù)css優(yōu)先級來使用,優(yōu)先級高的會覆蓋優(yōu)先級低的css樣式,本文通過實(shí)例代碼給大家詳細(xì)
    2023-01-03

最新評論