茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    CSS 優(yōu)先級(jí)問(wèn)題詳解
    來(lái)源:易賢網(wǎng) 閱讀:973 次 日期:2014-11-27 10:52:09
    溫馨提示:易賢網(wǎng)小編為您整理了“CSS 優(yōu)先級(jí)問(wèn)題詳解”,方便廣大網(wǎng)友查閱!

    當(dāng)你將一個(gè)樣式添加到元素上卻發(fā)現(xiàn)不起作用時(shí),那就是遇到優(yōu)先級(jí)問(wèn)題了。那么應(yīng)該如何處理 CSS 優(yōu)先級(jí)問(wèn)題呢,下面我總結(jié)了一些解決 CSS 優(yōu)先級(jí)問(wèn)題的常用法則。

    樣式距離

    我們可以通過(guò)使用外部樣式、內(nèi)部樣式、內(nèi)聯(lián)樣式等方法給元素添加指定的樣式,此時(shí)的優(yōu)先級(jí)是:

    外部樣式 < 內(nèi)部樣式 < 內(nèi)聯(lián)樣式

    這個(gè)應(yīng)該比較容易理解,也就是說(shuō)離元素距離越近的樣式優(yōu)先級(jí)越大。如:

    代碼如下:

    <style type="text/css">

    div{color:blue;} //內(nèi)部樣式

    </style>

    <link rel="stylesheet" type="text/css" href="mystyle.css"/> //外部樣式(color:green)

    <div style="color:red">my color</div>//內(nèi)聯(lián)樣式

    此時(shí)顯示的優(yōu)先級(jí)是 red > blue > green。所以 my color 顯示為紅色。

    特殊的計(jì)算方法

    假設(shè)有下面這段代碼:

    代碼如下:

    <style type="text/css">

    div p.classSelector {color: blue}

    #idselector p {color: red}

    </style>

    <div id="idSelector">

    <p class="classSelector">my color</p>

    </div>

    我們面對(duì)下面的 css,如何判斷優(yōu)先級(jí)呢?

    代碼如下:

    <style type="text/css">

    div p.classSelector {color: blue}

    #idselector p {color: red}

    </style>

    這里介紹一種特殊的計(jì)算方法:

    元素, 偽元素: 1 – (0,0,0,1)

    類, 偽類, 屬性: 1 – (0,0,1,0)

    ID: 1 – (0,1,0,0)

    內(nèi)聯(lián)樣式: 1 – (1,0,0,0)

    這里的屬性指的是:

    效果如下:

    優(yōu)先級(jí)從上往下依次增加,至于如何計(jì)算,同樣舉例說(shuō)明:

    p: 1個(gè)元素– (0,0,0,1)

    div: 1個(gè)元素 – (0,0,0,1)

    #idSelector: 1個(gè)ID – (0,1,0,0)

    div#idSelector: 1個(gè)元素, 1個(gè)ID – (0,1,0,1)

    div#idSelector p: 2個(gè)元素, 1個(gè)ID– (0,1,0,2)

    div#idSelector p.classSelector: 2個(gè)元素, 1個(gè)類, 1個(gè)ID – (0,1,1,2)

    所以現(xiàn)在我們?cè)賮?lái)看上面的例子:

    代碼如下:

    div p.classSelector {color: blue} - (0,0,0,1) + (0,0,0,1) + (0,0,1,0) = (0,0,1,2)

    #idselector p {color: red} - (0,1,0,0) + (0,0,0,1) = (0,1,0,1)

    由于優(yōu)先級(jí)上 (0,1,0,1) > (0,0,1,2),所以我們知道最后顯示的顏色為紅色。

    繼承

    繼承是個(gè)比較好理解的概念,即子元素會(huì)繼承父元素的樣式。例如:

    代碼如下:

    <div style="color:red">

    <p>my color</p>

    </div>

    上例中的 span 會(huì)繼承父元素 div 的樣式。但不是所有的屬性都會(huì)默認(rèn)使用繼承的方式,比如 margin 和 padding 屬性。例如:

    代碼如下:

    <div style="margin:10px;padding:10px">

    <p>my color</p>

    </div>

    此時(shí),元素 p 并不會(huì)繼承父元素 div 的 margin 和 padding 樣式,除非你這么做:

    代碼如下:

    <div style="margin:10px;padding:10px">

    <p style="margin:inherit;padding:inherit">my color</p>

    </div>

    總結(jié)

    1.首先找到所有作用在元素上的樣式。(不要忽略來(lái)自繼承的樣式)

    2.計(jì)算樣式的作用距離,距離越近,優(yōu)先級(jí)越大。

    3.使用特殊的計(jì)算方法來(lái)判斷同距離內(nèi)的樣式。

    4.如果計(jì)算后的結(jié)果相同,那么后聲明的樣式覆蓋先前聲明的樣式。

    5.如果某個(gè)樣式中設(shè)置 !important,則無(wú)論它的優(yōu)先級(jí)如何,都以該樣式為準(zhǔn)。(除非迫不得已,強(qiáng)烈不建議使用這個(gè)方法,因?yàn)檫@無(wú)疑是不符合 css 思想的用法)

    樣式表允許以多種方式規(guī)定樣式信息。樣式可以規(guī)定在單個(gè)的 HTML 元素中,在 HTML 頁(yè)的頭元素中,或在一個(gè)外部的 CSS 文件中。甚至可以在同一個(gè) HTML 文檔內(nèi)部引用多個(gè)外部樣式表。當(dāng)同一個(gè) HTML 元素被不止一個(gè)樣式定義時(shí),會(huì)使用哪個(gè)樣式呢?

    一般而言,所有的樣式會(huì)根據(jù)下面的規(guī)則層疊于一個(gè)新的虛擬樣式表中,其中數(shù)字 4 擁有最高的優(yōu)先權(quán)。

    •瀏覽器缺省設(shè)置

    •外部樣式表

    •內(nèi)部樣式表(位于 <head> 標(biāo)簽內(nèi)部)

    •內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)

      因此,內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)擁有最高的優(yōu)先權(quán),這意味著它將優(yōu)先于以下的樣式聲明:<head> 標(biāo)簽中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。這只是一個(gè)大方面的優(yōu)先級(jí),在前面文章中我們講過(guò)CSS有很多選擇器,那么對(duì)于同種樣式的CSS,各個(gè)選擇器的優(yōu)先級(jí)又是如何呢?

      我們將某一個(gè)CSS看成一個(gè)三位數(shù),通過(guò)比較數(shù)字的大小來(lái)獲取優(yōu)先級(jí)的高低,那么就會(huì)相當(dāng)簡(jiǎn)單。在這里可以通過(guò)下面的規(guī)則來(lái)定義各個(gè)選擇器對(duì)應(yīng)的數(shù)字。

    •百位數(shù)是該選擇器上的id的數(shù)量的總和;

    •十位數(shù)是用在該選擇器上的其它屬性選擇器和偽類的總和。這里包括class (.example) 和屬性選擇器(比如 li[id=red]);

    •個(gè)位數(shù)是計(jì)算元素(就像table、p、div、*等等)和偽元素(就像:first-line等);

    •如果兩個(gè)選擇器對(duì)應(yīng)的數(shù)字相等,也就是具有同樣的優(yōu)先級(jí),在樣式表中后面的那個(gè)起作用。

    •標(biāo)有"!important"的規(guī)則具有最高優(yōu)先級(jí),例如H1{color:black !importan; font-family:sans-serif},前景色被標(biāo)為important,這個(gè)前景色具有很高的優(yōu)先級(jí)。但是這種聲明容易引起混亂,因此通常使用得較少。

    選擇器 數(shù)值

    h1 {color:blue;} 1

    p em {color:purple;} 1 + 1 = 2

    .apple {color:red;} 10

    p.bright {color:yellow;} 1 + 10 = 11

    p.bright em.dark {color:brown;} 1 + 10 + 1 + 10 = 22

    #id316 {color:yellow} 100

    一般我們還可以通過(guò)瀏覽器的插件來(lái)查看,到底哪個(gè)CSS起作用,比如Firebug(Firefox)、Developer Tools(IE8)等。上面我們介紹到當(dāng)優(yōu)先級(jí)相同時(shí),哪個(gè)CSS起作用取決于所處的位置,通常后面的CSS優(yōu)先級(jí)要高。但是對(duì)于IE瀏覽器,具有相同數(shù)值的動(dòng)態(tài)CSS取決于添加的順序前后,而不是添加的位置前后;后添加的優(yōu)先級(jí)要高。

    原則一 - 繼承不如指定。

    原則二 - #ID > .class > 標(biāo)簽選擇符。

    原則三 - 越具體越強(qiáng)大。

    原則四 - 標(biāo)簽#id >#id ; 標(biāo)簽.class > .class。

    原則五 - 原則一 > 原則二 > 原則三 > 原則四。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看網(wǎng)頁(yè)制作
    易賢網(wǎng)手機(jī)網(wǎng)站地址:CSS 優(yōu)先級(jí)問(wèn)題詳解
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!
    相關(guān)閱讀網(wǎng)頁(yè)制作

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)