css樣式定義多了,常常出現顯示效果與預期不一致的情況。其中很大一部分原因在於起作用的樣式。
1。多個選擇器可能會選擇同乙個元素,有3個規則,從上到下重要性降低:
!important的使用者樣式
!important的作者樣式
作者樣式
使用者樣式
瀏覽器定義的樣式
2。css樣式的特殊性權重——誰有分量,誰說了算。
css規範為不同型別的選擇器定義了特殊性權重,特殊性權重越高,樣式會被優先應用。
權重設定如下:
html選擇器,權重為1;
類選擇器,權重為10;
id選擇器,權重為100;
這裡還有一種情況:在html標籤中直接使用style屬性,這裡的style屬性的權重為1000;
即如下情況:
#x34y
<. p id=x34y style="color:green"> 優先選擇style=""設定的樣式。
其他型別的,大家看看例子就明白了。
例子:h1 權重為1
p em 權重為2
.warning 權重為10
p.note em.dark 權重為22
#main 權重為100 這裡還有一種情況:
權重一樣時如何處理?權重一樣時就另說了。看看下面的就明白了。
3。css樣式的層疊原則——誰離我近,誰說了算。
當權重一樣時,會採用「層疊原則」 後定義的會被應用。
如:pp
作用到這裡 <. p >我的什麼顏色呢?< /p>
結果會是red的。
4。css樣式的特殊標記——誰有特權,誰說了算。
如果有人看不順眼,非得要自己說了算,那可以搞點特權,如下即可
p 加上!important;可將自己權重設為最高。
如果你要問兩個!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 當權值相等時,後出現的樣式...