css 優先順序總結

2021-07-12 02:09:34 字數 3046 閱讀 9030

層疊優先順序是:

瀏覽器預設 < 外部樣式表 < 內部樣式表 < 內聯樣式

其中樣式表又有:

類選擇器 < 類派生選擇器 < id選擇器 < id派生選擇器

派生選擇器以前叫上下文選擇器,所以完整的層疊優先順序是:

瀏覽器預設 < 外部樣式表 < 外部樣式表類選擇器 < 外部樣式表類派生選擇器 < 外部樣式表id選擇器 < 外部樣式表id派生選擇器 < 內部樣式表 < 內部樣式表類選擇器 < 內部樣式表類派生選擇器 < 內部樣式表id選擇器 < 內部樣式表id派生選擇器 < 內聯樣式...共12個優先順序

為了說明該問題,請參見下面的例子說明。

[html]view plain

copy

<

html

>

<

head

>

<

title

>

title

>

<

style

type

="text/css"

>

div  /* 綠色 */  

.a1  /* 藍色 */  

.a1 div  /* 青色 */  

.a2  /* 紅色 */  

#a2  /* 黃色 */  

#a2 div  /* 紫色 */  

style

>

head

>

<

body

>

<

div>

我是綠色,內部樣式表優先於瀏覽器預設

div>

<

divclass

="a2"

>

我是紅色,類選擇器優先於內部樣式表

div>

<

divclass

="a2"id=

"a2"

>

我是黃色,id選擇器優先於類選擇器

div>

<

divclass

="a1"

>

<

span

>

我是藍色,類選擇器優先於內部樣式表

span

>

<

div>

我是青色,類派生選擇器優先於類選擇器

div>

<

divclass

="a2"

>

我還是青色,類派生選擇器優先於所有類選擇器

div>

<

divid

="a2"

>

<

span

>

我是黃色,id選擇器優先於類派生選擇器

span

>

<

div>

我是紫色,id派生選擇器優先於類派生選擇器

div>

<

divclass

="a1"

>

我還是紫色,id派生選擇器優先於所有類選擇器

div>

<

divclass

="a1"id=

"a1"

>

我還是紫色,id派生選擇器優先於所有id選擇器

div>

<

divclass

="a1"id=

"a1"

style

="color:#000000;"

>

我是黑色,內聯樣式駕到閒雜人等退下

div>

div>

div>

body

>

html

>

執行後的效果圖:

另外,如果同乙個元素在沒有其他樣式的作用影響下,其class定義了多個並以空格分開,其優先順序順序為:

乙個元素同時應用多個class,後定義的優先(即近者優先),加上!important者最優先!

執行後的效果圖:

css 優先順序

當我們的css樣式中,如果同個元素有兩個或以上衝突的css規則,瀏覽器有一些基本的規則來決定哪乙個非常特殊而勝出,也就是常講的css優先順序。一般情況下,你不必擔心css樣式衝突,但對於大型而且複雜的css樣式檔案,或有很多css檔案組成的,就非常有可能產生衝突。下面我們通過2個簡單的例項來了解一下...

css優先順序

今天在使用公司內部框架的時候,發現乙個問題。我在頁面的style元素裡面寫了乙個class選擇器,可是卻不起作用。使用f12檢視,發現是當前的樣式沒有起作用,而是被框架生成的樣式代替掉了。當然,寫內嵌的樣式肯定是沒問題。可問題就是,我明明在頁面內部寫了樣式,按照常理,應該是我手寫的類選擇器的優先順序...

css優先順序

css樣式分為 外部樣式,內部樣式,內聯樣式 選擇器優先權 1.內聯樣式表的權值最高 1000 2.id 選擇器的權值為 100 3.class 類選擇器的權值為 10 4.html 標籤選擇器的權值為 1 css 優先順序法則 a 選擇器都有乙個權值,權值越大越優先 b 當權值相等時,後出現的樣式...