91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

瀏覽器中怎么判斷css優先級

發布時間:2021-08-02 14:11:53 來源:億速云 閱讀:133 作者:Leah 欄目:web開發

本篇文章給大家分享的是有關瀏覽器中怎么判斷css優先級,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

概念
瀏覽器是通過判斷優先級,來決定到底哪些屬性值是與元素最相關的,從而應用到該元素上。優先級是由選擇器組成的匹配規則決定的。

如何計算?
優先級是根據由每種選擇器類型構成的級聯字串計算而成的. 它不是一個對應相應匹配表達式的權重值.

如果優先級相同,元素最終會應用 CSS 中靠后的聲明.

注意: 在文檔樹中的距離是不會對元素優先級計算產生影響的.(可以看文檔中無視DOM樹中的距離的例子)

優先級順序
下列是一份優先級逐級增加的選擇器列表:

通用選擇器*
元素(類型)選擇器
類選擇器
屬性選擇器
偽類
ID 選擇器
內聯樣式
事實上,元素還可以從父元素上繼承一些樣式,如color等屬性。這些繼承的樣式的優先級永遠低于元素本身的樣式,包括通用選擇器:

代碼如下:


<div id='test'>
    <a href="#">text</a>
</div></p> <p> * {
    color:red;
}

#test{
    color:blue;
}

最終text的顏色是紅色的。

!important 規則是例外
當!important 規則被應用在一個樣式聲明中時,該樣式聲明會覆蓋CSS中任何其他的聲明, 無論它處在聲明列表中的哪個位置. 盡管如此, !important規則還是與優先級毫無關系使用!important不是一個好習慣,因為它改變了你樣式表本來的級聯規則,從而難以調試。

一些不成文規則

不要在全站范圍的css中使用!important.

只在需要覆蓋全站范圍的css或是外部css(例如引用的ExtJs或是YUI)的時候才在指定的頁面上使用 !important。

不要在你的插件中使用!important。

永遠都要優先考慮使用樣式規則的優先級來解決問題而不是 !important。

取而代之,你可以:

更好的利用CSS的級聯屬性

更多的使用適合的選擇器。比如在你需要選定的對象元素前加上更多的元素,使選擇的范圍縮小,你的選擇器就變得更有針對性,從而提高優先級:

代碼如下:


<div id="test">
  <span>Text</span>
</div>

div#test span { color: green }
span { color: red }
div span { color: blue }

無論你css語句的順序是什么樣的,文本都會是綠色的(green)因為這一條規則是最有特殊性、優先級最高的。(同理,無論語句順序怎樣,藍色(blue)的規則都會覆蓋紅色(red)的規則)

什么時候應該使用:
A) 一種情況

你的網站上有一個設定了全站樣式的CSS文件,同時你(或是你同事)寫了一些效果通常都是很差的行內樣式(行內樣式的優先級是最高的)。

在這種情況下,你就可以在你全局的CSS文件中寫一些!important的樣式來覆蓋掉那些直接寫在元素上的行內樣式。

活生生的例子比如:有人在jQuery插件里寫了糟糕的行內樣式。

B) 另一種情況

代碼如下:


#someElement p {
    color: blue;
}

p.awesome {
    color: red;
}

在外層有 #someElement 的情況下,你怎樣能使 awesome 的段落變成紅色呢?這種情況下,如果不使用!important,第一條規則永遠比第二條的優先級更高。

怎樣覆蓋掉 !important

很簡單,你只需要再加一條 !important 的CSS語句,將其應用到更高優先級的選擇器(在原有基礎上添加額外的標簽、class或id選擇器)上;或是保持選擇器一樣,但添加的位置需要在原有聲明的后面(優先級相同的情況下,后邊定義的會覆蓋前邊定義的)。

代碼如下:


<div>
  <a href="#" id="test">text</a>
</div>

想要把原有的綠色文本變成紅色,提升優先級的方式:

代碼如下:


#test.a{
  color: red !important;<!--盡管這條聲明在前,但是仍會覆蓋下邊的樣式-->
}
a{
  color: green !important;
}


不過

代碼如下:


a{
  color: green !important;
}
a{
  color: red !important;<!--同樣的選擇器,后邊的聲明會覆蓋前邊的-->
}

以上就是瀏覽器中怎么判斷css優先級,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

军事| 山阴县| 杂多县| 永登县| 麦盖提县| 江华| 天气| 新蔡县| 邯郸县| 东乌珠穆沁旗| 武功县| 罗江县| 江口县| 赤壁市| 康乐县| 梓潼县| 志丹县| 莲花县| 布拖县| 淮北市| 禄丰县| 涟源市| 四平市| 尉犁县| 新源县| 遂昌县| 南通市| 新蔡县| 东台市| 闻喜县| 黎川县| 太谷县| 耿马| 江达县| 安丘市| 安新县| 班玛县| 黔西县| 界首市| 遵化市| 天水市|