搜尋

首頁  >  問答  >  主體

css3 - CSS優先權問題

一直在說important的優先順序最高,可是下面的結果是粉紅色的,貌似important並沒有什麼卵用

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>示例</title>
  <style>
  body {
    color: green !important;
  }
  
  .pink-text {
    color: pink;
  }
  </style>
</head>

<body>
  <h1 class="pink-text">Hello World!</h1>
</body>

但是經過變化以後,在同一個class內部確實是最高的,我原本以為無論在哪裡,只要加上important就會是最高的優先級,結果並不是這樣

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>示例</title>
  <style>
  .pink-text {
    color: green !important;
    color: pink;
  }
  </style>
</head>

<body>
  <h1 class="pink-text">Hello World!</h1>
</body>
迷茫迷茫2747 天前761

全部回覆(3)我來回復

  • ringa_lee

    ringa_lee2017-05-16 13:26:45

    你的文字是在 pink-text 上的,一旦 pink-text 設定了 color,color 值就不是繼承,就沒 body 什麼事

    回覆
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:26:45

    !important這個屬性不會被繼承

    就是說你給body的字體顏色設定了!important,

    如果子元素沒有設定其他字體顏色,就會繼承 body的顏色,但是這個繼承跟!important沒有關係。

    如果子元素設定了其他字體顏色,就會以設定的字體顏色來顯示。

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:26:45

    謝邀!

    !important 提升的是指定樣式規則應用優先權,關鍵在於指定二字,好好感受一下。

    而對於你前者的範例很明顯不屬於這個範圍內。

    另:

    color: green !important;
    color: pink;

    這種寫法在IE6是無效的。

    回覆
    0
  • 取消回覆