溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

css優(yōu)先級如何計(jì)算

發(fā)布時(shí)間:2022-02-25 17:00:57 來源:億速云 閱讀:136 作者:iii 欄目:web開發(fā)

本文小編為大家詳細(xì)介紹“css優(yōu)先級如何計(jì)算”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“css優(yōu)先級如何計(jì)算”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

  下面是一個(gè)簡單的無序列表:

  <ulid="summer-drinks">

  <li>汽水</li>

  <li>啤酒</li>

  <li>果汁</li></ul>

  如果現(xiàn)在你要指定其中一種你喜歡的飲料并改變它的樣式。你可以通過list元素上的類名來應(yīng)用它。

  <ulid="summer-drinks">

  <liclass="favorite">汽水</li>

  <li>啤酒</li>

  <li>果汁</li></ul>

  現(xiàn)在你就可以在css中為它添加樣式

  .favorite{

  color:red;

  font-weight:bold;

  }

  然后你看你的實(shí)現(xiàn)效果會(huì)發(fā)現(xiàn)這個(gè)樣式它沒有作用!你選擇添加樣式的飲料并沒有變成紅色,字體也沒有加粗

  仔細(xì)觀察css中的代碼你就會(huì)發(fā)現(xiàn),有兩個(gè)選擇器

  ul#summer-drinksli{

  font-weight:normal;

  font-size:12px;

  color:black;}

  兩個(gè)不同的CSS選擇器都定義了文本顏色和字體重量。字體大小只有一個(gè)聲明,所以很明顯一個(gè)會(huì)生效。這些不是“沖突”,但瀏覽器確實(shí)需要決定這些定義了的內(nèi)容中需要實(shí)現(xiàn)哪一個(gè)。這就需要通過遵循一套標(biāo)準(zhǔn)的優(yōu)先級規(guī)則來實(shí)現(xiàn)。

  這可能會(huì)讓一些初學(xué)者感到困惑,因?yàn)樗麄兩形赐耆鉀Q這個(gè)問題。他們可能會(huì)認(rèn)為因?yàn)?favorite語句“在CSS中更進(jìn)一步”,或者因?yàn)閏lass=“favorite”在HTML中“更接近實(shí)際文本”,將是優(yōu)先的。實(shí)際上,CSS中選擇器的順序確實(shí)發(fā)揮了作用,當(dāng)優(yōu)先級完全相同時(shí),后來定義的內(nèi)容實(shí)際上是先執(zhí)行的,例如:

  .favorite{

  color:red;

  }

  .favorite{

  color:green;

  }

  執(zhí)行的結(jié)果字體的顏色會(huì)變綠

  這里的要點(diǎn)是你希望盡可能具體的理解。即使有上面提到的簡單例子,最終你會(huì)明白,僅僅使用一個(gè)類名來定位“最喜歡的飲料”并不會(huì)削減它,或者即使它確實(shí)起作用也不會(huì)很安全??梢允褂靡韵路椒ň唧w定義:

  ul#summer-drinksli.favorite{

  color:red;

  font-weight:bold;

  }

  這就是我所說的“具體而言才有意義”。你實(shí)際上可能更具體,并使用這樣的東西:

  htmlbodydiv#pagewrapul#summer-drinksli.favorite{

  color:red;

  font-weight:bold;

  }

  但有時(shí)候代碼會(huì)很長。它會(huì)使的CSS代碼的閱讀性降低,并沒有產(chǎn)生任何實(shí)際好處。為“.favorite”類提取特異性值的另一種方法是使用!important聲明。

  .favorite{

  color:red!important;

  font-weight:bold!important;

  }

  我曾經(jīng)聽說過!important是CSS的絕地思維技巧。也確實(shí)如此,您可以通過使用它來強(qiáng)制您的元素樣式。但是,通過大幅提高特定選擇者使用的特殊性,將會(huì)產(chǎn)生一些不必要的問題。如果被錯(cuò)誤理解,那么!important聲明很容易被濫用。它最好用于保持CSS整潔,例如,您知道具有特定類選擇器的元素應(yīng)該使用某種樣式集。相反,不僅僅用作快速的使用方法來覆蓋某些東西的樣式,而不是弄清楚原始作者如何構(gòu)造和使用CSS。

  我的一個(gè)經(jīng)典例子是:

  .last{

  margin-right:0!important;

  }

  計(jì)算CSS選擇器優(yōu)先級

  為什么我們第一次嘗試更改顏色和字體重量失敗了?正如我們所了解的那樣,這是因?yàn)楹唵蔚厥褂妙惷旧砭哂休^低的優(yōu)先級,并且被另一個(gè)選擇器覆蓋,該選擇器使用ID值定位無序列表。該句中的重要詞語是類和id。CSS對類和ID應(yīng)用了截然不同的優(yōu)先級權(quán)重。事實(shí)上,ID具有無限的優(yōu)先級價(jià)值!也就是說,沒有任何類別的優(yōu)先級可以超過ID。

讀到這里,這篇“css優(yōu)先級如何計(jì)算”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI