css的優先順序從低到高依次是:內部樣式表的優先順序為(1,0,0,0),id選擇器優先順序為(0,1,0,0),class選擇器為(0。0,1,0),tag標籤為(0。0,0,1)。除此之外,!important權重最高,比inline style還要高。
從字面意思就知道它最重要。
在這裡插個題外話。
我之前一直錯誤的以為!important僅僅是css hack的乙個寫法。
我印象中!important是號稱支援到ie7及以上的,不支援ie6的。不知道人沒有也這麼覺得。。。直到今天我才意識到我的錯誤。事實上在我知道了!important能夠改變css優先順序的的時候還知道了ie6也是認識!important的。僅僅只是ie6讀取含有!important'的css屬性是順序讀取的。這是ie6的乙個非常典型的bug。比方:
這個結果是div的背景為blue;假設這樣:
把兩個屬性倒換位置。結果背景為red。這說明ie6並不會對!important開放特權。
而是一視同仁。
比如:
情形一:div.test1 .span a 優先順序 (0,0,2,2)。
情形二:span#*** .songs li 優先順序(0,1,1,2);
情形三:#*** li 優先順序 100 +1 (0,1,0。1);
直接上**:
link
**執行後,link字型的顏色為gray,由於內部樣式表的優先順序最高。為(1,0,0。0)。
可是假設。給div .aa這樣乙個屬性,那麼link字型的顏色就是orange了。
關於CSS的優先順序
每css的選擇器都有乙個分數,可以根據這些分數這計算這些css的優先順序 1.擁有 important,最有最高的優先順序 2.標籤。偽類或偽物件,優先順序分數為1 3.類 屬性選擇,優先順序分數為10 4.id選擇,優先順序分數為100 5.style屬性,優先順序分數為1000 6.其他選擇符,...
css 優先順序
當我們的css樣式中,如果同個元素有兩個或以上衝突的css規則,瀏覽器有一些基本的規則來決定哪乙個非常特殊而勝出,也就是常講的css優先順序。一般情況下,你不必擔心css樣式衝突,但對於大型而且複雜的css樣式檔案,或有很多css檔案組成的,就非常有可能產生衝突。下面我們通過2個簡單的例項來了解一下...
css優先順序
今天在使用公司內部框架的時候,發現乙個問題。我在頁面的style元素裡面寫了乙個class選擇器,可是卻不起作用。使用f12檢視,發現是當前的樣式沒有起作用,而是被框架生成的樣式代替掉了。當然,寫內嵌的樣式肯定是沒問題。可問題就是,我明明在頁面內部寫了樣式,按照常理,應該是我手寫的類選擇器的優先順序...