CSS教程 17、CSS的優先順序特性Specificity [翻譯Htmldog

來源:互聯網
上載者:User
  
  如果同個元素有兩個或以上衝突的CSS規則,瀏覽器有一些基本的規則來決定哪一個非常特殊而勝出。
  它可能不像其它那麼重要,大部分案例你不需要擔心衝突,但大型而且複雜的CSS檔案,或有很多CSS檔案組成的,可能產生衝突。
  選取器一樣的情況下後面的會覆蓋前面的屬性。比如:
p { color: red; }
p { color: blue; }
  p元素的元素將是藍色,因為遵循後面的規則。
  然而,你不可能經常用相同的選取器衝突達到目的,當你使用嵌套選取器,合理的衝突來了。比如:
div p { color: red; }
p { color: blue; }
  也許你看起來p元素在div元素裡面的顏色是藍色,就像後面p元素的規則,但是第一個選取器的特性卻是紅色。基本上,一個選取器越多特性,樣式衝突的時候將顯示它的樣式。
  一組嵌套選取器的實際特性可以計算出來。基本的,使用ID選取器的值是100,使用class選取器的值是10,每個html選取器的值是1。它們加起來就可以計算出特性的值。
  p的特性是1(一個html選取器) 
  div p的特性是2(兩個html選取器) 
  .tree的特性是10(1個class選取器) 
  div p.tree的特性是1+1+10=12,(兩個html選取器,一個class選取器) 
  #baobab的特性是100(1個ID選取器) 
  body #content .alternative p的特性是112(兩個html選取器,一個ID選取器,一個類別選取器) 
  按照上面的規則,div p.tree的特性比div p高,body #content .alternative p又比它們兩個都高。
  
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.