首先權重乙個相對概念,可以認作天平中的砝碼,權重大的地方就會被重視(使用),當然這在權重等級相同的前提下。
一:權重的等級劃分:
第一等級:內部樣式 (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 ...