CSS的優先順序和權重簡介

2021-10-11 22:46:26 字數 1727 閱讀 9470

首先權重乙個相對概念,可以認作天平中的砝碼,權重大的地方就會被重視(使用),當然這在權重等級相同的前提下。

一:權重的等級劃分:

第一等級:內部樣式 (style=" "),權值:1000.第二等級:id選擇器(#id),權值:100.第三等級:class、偽類、屬性選擇器(.class , :hover , :link , [type]),權值為:10.

*偽類有::link,:visited,:hover,:active,:focus,:frist-child。 *

第四等級:標籤、偽元素選擇器(id,name :after :before),權值為:1.

二:優先順序規則:

同等等級情況下:

權值高的優先。

權值相同時後定義的優先。

屬性後面加 !important 時,最優先。

等級不同的情況下,等級高的優先!!

三:權值的計算:

權值 = 1000第一等級個數 + 100第二等級個數 + 10第三等級數 + 第四等級數;***

例:

>

#div div

div .a .b .c .d .e .f .g .h .i .j div

style

>

"div"

>

class

="a b c d e f g h i j"

>

>

div>

div>

div>

按照權值大小應該是class選擇器生效,但是事實卻是id選擇起生效:為了驗證權值相同時,後面定義的屬性生效把css**改為:

>

#div div

#div div

style

>

"div"

>

class

="a b c d e f g h i j"

>

>

div>

div>

div>

那如果在第乙個background-color屬性後加上!important呢?

可以看到本應該被覆蓋的red屬性覆蓋了blue。

那麼如果權值等級不同的情況下,使用 !important 能否覆蓋等級高的屬性呢?

>

#div div

.a div

style

>

"div"

>

class

="a b c d e f g h i j"

>

>

div>

div>

div>

事實證明上述的三個優先順序判斷方式都是正確的。且!important具有最高優先順序!

CSS的優先順序和權重

css樣式優先順序遵循如下 行內樣式 id選擇器 類選擇器 元素選擇器 在選擇器優先順序相同的情況下,遵循就近原則。頁面某元素在多層巢狀情況下,根據權重大小顯示,權重越大優先顯示。備註 important 表示強制應用該樣式,例如 button,與以上的選擇器相遇時,強制使用此樣式 選擇器類別 說明...

CSS權重以及優先順序

權重的級別劃分包含了所有的css選擇器 如果兩個選擇器作用在同乙個元素上,則權重高者生效 權重的級別根據選擇器被分為四個分類 行內樣式,id,類和屬性,以及元素。當很多規則都被應用到某乙個元素上時,全中決定了那種規則生效。每個選擇器都有自己的權重。每個css規則,都包含了乙個權重級別。如果兩個選擇器...

CSS樣式優先順序及權重

一 什麼是繼承性?作用 給父元素設定一些屬性,子元素也可以使用,這個我們就稱之為繼承性。color red p div 的 color red 屬性,這個屬性將被 繼承,即 也擁有屬性 color red 直接樣式 比 祖先樣式 優先順序高。類名為 son 的 div 的 color 為 blue ...