国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

CSS優(yōu)先級(jí)詳解

Juven / 1618人閱讀

摘要:優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。這些繼承的樣式的優(yōu)先級(jí)永遠(yuǎn)低于元素本身的樣式,包括通用選擇器最終的顏色是紅色的。永遠(yuǎn)都要優(yōu)先考慮使用樣式規(guī)則的優(yōu)先級(jí)來解決問題而不是。

概念

瀏覽器是通過判斷優(yōu)先級(jí),來決定到底哪些屬性值是與元素最相關(guān)的,從而應(yīng)用到該元素上。優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。

如何計(jì)算?

優(yōu)先級(jí)是根據(jù)由每種選擇器類型構(gòu)成的級(jí)聯(lián)字串計(jì)算而成的. 它不是一個(gè)對(duì)應(yīng)相應(yīng)匹配表達(dá)式的權(quán)重值.

如果優(yōu)先級(jí)相同,元素最終會(huì)應(yīng)用 CSS 中靠后的聲明.

注意: 在文檔樹中的距離是不會(huì)對(duì)元素優(yōu)先級(jí)計(jì)算產(chǎn)生影響的.(可以看文檔中無視DOM樹中的距離的例子)

優(yōu)先級(jí)順序

下列是一份優(yōu)先級(jí)逐級(jí)增加的選擇器列表:

通用選擇器*

元素(類型)選擇器

類選擇器

屬性選擇器

偽類

ID 選擇器

內(nèi)聯(lián)樣式

事實(shí)上,元素還可以從父元素上繼承一些樣式,如color等屬性。這些繼承的樣式的優(yōu)先級(jí)永遠(yuǎn)低于元素本身的樣式,包括通用選擇器:


* {
    color:red;
}

#test{
    color:blue; 
}

最終text的顏色是紅色的。

? !important?規(guī)則是例外

當(dāng)!important 規(guī)則被應(yīng)用在一個(gè)樣式聲明中時(shí),該樣式聲明會(huì)覆蓋CSS中任何其他的聲明, 無論它處在聲明列表中的哪個(gè)位置. 盡管如此, !important規(guī)則還是與優(yōu)先級(jí)毫無關(guān)系使用!important不是一個(gè)好習(xí)慣,因?yàn)樗淖兞四銟邮奖肀緛淼募?jí)聯(lián)規(guī)則,從而難以調(diào)試。

?

一些不成文規(guī)則

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

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

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

永遠(yuǎn)都要優(yōu)先考慮使用樣式規(guī)則的優(yōu)先級(jí)來解決問題而不是 !important。

取而代之,你可以:

更好的利用CSS的級(jí)聯(lián)屬性

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

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

無論你c?ss語句的順序是什么樣的,文本都會(huì)是綠色的(green)因?yàn)檫@一條規(guī)則是最有特殊性、優(yōu)先級(jí)最高的。(同理,無論語句順序怎樣,藍(lán)色(blue)的規(guī)則都會(huì)覆蓋紅色(red)的規(guī)則)

什么時(shí)候應(yīng)該使用:

A) 一種情況

你的網(wǎng)站上有一個(gè)設(shè)定了全站樣式的CSS文件,同時(shí)你(或是你同事)寫了一些效果通常都是很差的行內(nèi)樣式(行內(nèi)樣式的優(yōu)先級(jí)是最高的)。

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

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

B) 另一種情況

#someElement p {
    color: blue;
}

p.awesome {
    color: red;
}

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

?

怎樣覆蓋掉 !important

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


想要把原有的綠色文本變成紅色,提升優(yōu)先級(jí)的方式:

#test.a{
  color: red !important;
}
a{
  color: green !important;
}

不過

a{
  color: green !important;
}
a{
  color: red !important;
}

更多關(guān)于important的帖子:

http://stackoverflow.com/questions/3706819/what-are-the-implications-of-using-important-in-css

http://stackoverflow.com/questions/9245353/what-does-important-in-css-mean

http://stackoverflow.com/questions/5701149/when-to-use-important-property-in-css

http://stackoverflow.com/questions/11178673/how-to-override-important

http://stackoverflow.com/questions/2042497/when-to-use-important-to-save-the-day-when-working-with-css

?

:not偽類例外

:not 否定偽類在優(yōu)先級(jí)計(jì)算中不會(huì)被看作是偽類. 盡管如此, 在計(jì)算選擇器數(shù)量時(shí)還是會(huì)把偽類當(dāng)做普通選擇器進(jìn)行計(jì)數(shù).

這是一塊CSS代碼:

div.outer p {
  color:orange;
}
div:not(.outer) p {
  color: lime;
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/110870.html

相關(guān)文章

  • 詳解 CSS 屬性 - 優(yōu)先級(jí)問題

    摘要:當(dāng)你將一個(gè)樣式添加到元素上卻發(fā)現(xiàn)不起作用時(shí),那就是遇到優(yōu)先級(jí)問題了。那么應(yīng)該如何處理優(yōu)先級(jí)問題呢,下面我總結(jié)了一些解決優(yōu)先級(jí)問題的常用法則。如內(nèi)部樣式外部樣式內(nèi)聯(lián)樣式此時(shí)顯示的優(yōu)先級(jí)是。 當(dāng)你將一個(gè)樣式添加到元素上卻發(fā)現(xiàn)不起作用時(shí),那就是遇到優(yōu)先級(jí)問題了。那么應(yīng)該如何處理 CSS 優(yōu)先級(jí)問題呢,下面我總結(jié)了一些解決 CSS 優(yōu)先級(jí)問題的常用法則。 樣式距離 我們可以通過使用外部樣式...

    ZoomQuiet 評(píng)論0 收藏0
  • CSS優(yōu)先級(jí)詳解

    摘要:優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。這些繼承的樣式的優(yōu)先級(jí)永遠(yuǎn)低于元素本身的樣式,包括通用選擇器最終的顏色是紅色的。永遠(yuǎn)都要優(yōu)先考慮使用樣式規(guī)則的優(yōu)先級(jí)來解決問題而不是。 概念 瀏覽器是通過判斷優(yōu)先級(jí),來決定到底哪些屬性值是與元素最相關(guān)的,從而應(yīng)用到該元素上。優(yōu)先級(jí)是由選擇器組成的匹配規(guī)則決定的。 如何計(jì)算? 優(yōu)先級(jí)是根據(jù)由每種選擇器類型構(gòu)成的級(jí)聯(lián)字串計(jì)算而成的. 它不是一個(gè)對(duì)...

    n7then 評(píng)論0 收藏0
  • CSS 特殊性詳解

    摘要:特殊性我們可以用很多種寫法來定位一個(gè)元素,而選擇器的特殊性值則是決定哪一個(gè)勝出的關(guān)鍵。選擇器的特殊性值其實(shí)很簡(jiǎn)單,就是的形式。按照特殊性對(duì)應(yīng)用到給定元素的所有聲明排序。有較高特殊性的元素權(quán)重要大于有較低的特殊性的元素。 之前學(xué)CSS一直沒有深入的去研究CSS選擇器的優(yōu)先級(jí),這次好好的看了下之后寫的時(shí)候特殊性值仿佛都浮現(xiàn)在眼前,現(xiàn)在寫的時(shí)候心里更加清晰,這里梳理一下學(xué)到的東西。 特殊性(...

    Lucky_Boy 評(píng)論0 收藏0
  • Webpack 配置詳解(含 4)——關(guān)注細(xì)節(jié)

    摘要:由于這種差異我們將對(duì)預(yù)處理器文件的配置封裝為函數(shù),由參數(shù)生成對(duì)應(yīng)配置,將文件放入文件內(nèi),將配置放在文件內(nèi)。 前言 源代碼 熟悉 webpack 與 webpack4 配置。 webpack4 相對(duì)于 3 的最主要的區(qū)別是所謂的零配置,但是為了滿足我們的項(xiàng)目需求還是要自己進(jìn)行配置,不過我們可以使用一些 webpack 的預(yù)設(shè)值。同時(shí) webpack 也拆成了兩部分,webpack 和 w...

    jsbintask 評(píng)論0 收藏0
  • 詳解css媒體查詢

    摘要:媒體查詢,添加自,允許內(nèi)容的呈現(xiàn)針對(duì)一個(gè)特定范圍的輸出設(shè)備而進(jìn)行裁剪,而不必改變內(nèi)容本身。而且瀏覽器也不會(huì)根據(jù)媒體查詢來動(dòng)態(tài)的加載樣式,它只是一股腦的將所有的樣式引入。 簡(jiǎn)介 媒體查詢(Media Queries)早在在css2時(shí)代就存在,經(jīng)過css3的洗禮后變得更加強(qiáng)大bootstrap的響應(yīng)式特性就是從此而來的. 簡(jiǎn)單的來講媒體查詢是一種用于修飾css何時(shí)起作用的語法. Media...

    leone 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<