摘要:當(dāng)你將一個(gè)樣式添加到元素上卻發(fā)現(xiàn)不起作用時(shí),那就是遇到優(yōu)先級(jí)問(wèn)題了。那么應(yīng)該如何處理優(yōu)先級(jí)問(wèn)題呢,下面我總結(jié)了一些解決優(yōu)先級(jí)問(wèn)題的常用法則。如內(nèi)部樣式外部樣式內(nèi)聯(lián)樣式此時(shí)顯示的優(yōu)先級(jí)是。
當(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í)越大。如:
//外部樣式(color:green)my color//內(nèi)聯(lián)樣式
此時(shí)顯示的優(yōu)先級(jí)是 red > blue > green。所以 my color 顯示為紅色。
特殊的計(jì)算方法假設(shè)有下面這段代碼:
my color
我們面對(duì)下面的 css,如何判斷優(yōu)先級(jí)呢?
這里介紹一種特殊的計(jì)算方法:
元素, 偽元素: 1 – (0,0,0,1)
類(lèi), 偽類(lèi), 屬性: 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è)類(lèi), 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ì)繼承父元素的樣式。例如:
my color
上例中的 span 會(huì)繼承父元素 div 的樣式。但不是所有的屬性都會(huì)默認(rèn)使用繼承的方式,比如 margin 和 padding 屬性。例如:
my color
此時(shí),元素 p 并不會(huì)繼承父元素 div 的 margin 和 padding 樣式,除非你這么做:
總結(jié)my color
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 思想的用法)
http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/110897.html
摘要:優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。這些繼承的樣式的優(yōu)先級(jí)永遠(yuǎn)低于元素本身的樣式,包括通用選擇器最終的顏色是紅色的。永遠(yuǎn)都要優(yōu)先考慮使用樣式規(guī)則的優(yōu)先級(jí)來(lái)解決問(wèn)題而不是。 概念 瀏覽器是通過(guò)判斷優(yōu)先級(jí),來(lái)決定到底哪些屬性值是與元素最相關(guān)的,從而應(yīng)用到該元素上。優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。 如何計(jì)算? 優(yōu)先級(jí)是根據(jù)由每種選擇器類(lèi)型構(gòu)成的級(jí)聯(lián)字串計(jì)算而成的. 它不是一個(gè)對(duì)...
摘要:優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。這些繼承的樣式的優(yōu)先級(jí)永遠(yuǎn)低于元素本身的樣式,包括通用選擇器最終的顏色是紅色的。永遠(yuǎn)都要優(yōu)先考慮使用樣式規(guī)則的優(yōu)先級(jí)來(lái)解決問(wèn)題而不是。 概念 瀏覽器是通過(guò)判斷優(yōu)先級(jí),來(lái)決定到底哪些屬性值是與元素最相關(guān)的,從而應(yīng)用到該元素上。優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。 如何計(jì)算? 優(yōu)先級(jí)是根據(jù)由每種選擇器類(lèi)型構(gòu)成的級(jí)聯(lián)字串計(jì)算而成的. 它不是一個(gè)對(duì)...
摘要:幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn),代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面本文涉及方面有代碼優(yōu)化網(wǎng)絡(luò)請(qǐng)求過(guò)程角度入手解析建立鏈接網(wǎng)絡(luò)往返時(shí)延數(shù)據(jù)傳輸網(wǎng)絡(luò)問(wèn)題角度入手請(qǐng)求數(shù)量流量性能優(yōu)化測(cè)試工具代碼優(yōu)化 幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn)webp,代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面 本文涉及方面有: 代...
摘要:幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn),代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面本文涉及方面有代碼優(yōu)化網(wǎng)絡(luò)請(qǐng)求過(guò)程角度入手解析建立鏈接網(wǎng)絡(luò)往返時(shí)延數(shù)據(jù)傳輸網(wǎng)絡(luò)問(wèn)題角度入手請(qǐng)求數(shù)量流量性能優(yōu)化測(cè)試工具代碼優(yōu)化 幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn)webp,代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面 本文涉及方面有: 代...
摘要:個(gè)人前端文章整理從最開(kāi)始萌生寫(xiě)文章的想法,到著手開(kāi)始寫(xiě),再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會(huì)繼更新,現(xiàn)將已經(jīng)寫(xiě)好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開(kāi)始萌生寫(xiě)文章的想法,到著手...
閱讀 1325·2021-11-24 10:24
閱讀 4171·2021-11-22 15:29
閱讀 1103·2019-08-30 15:53
閱讀 2804·2019-08-30 10:54
閱讀 1990·2019-08-29 17:26
閱讀 1297·2019-08-29 17:08
閱讀 616·2019-08-28 17:55
閱讀 1595·2019-08-26 14:01