2011-05-25 69 views
5

我使用的是JQuery移動版,我希望所有文本在我的應用程序上都是紫色的。我這樣做了:color: #7A68AE !important;在我的css的body部分。!重要重寫

然後我試着在firebug中調試它,注意到我的!important被覆蓋。

這怎麼可能?是不是!important應該覆蓋一切?

注意我已經解決了這一問題,我是真的很好奇,爲什麼!important沒有工作

+0

它與特異性有關。 – drudge 2011-05-25 18:51:31

回答

5

看看上specificity規範。儘管!important應該被覆蓋,但是由於它所承載的重量,可能會由於內嵌樣式而忽略該內容。

但是,沒有看到一個例子,我不能100%肯定。 !

請參見!important rules

1

重要並在騎在同一層次級別任何東西 - 但用戶的樣式表的重要宣言就像是無與倫比的!

完整層次結構是 在頭<鏈接樣式表<包埋樣式在文檔風格塊(受影響的元件之前)<直列式(depriciated)<在元件式(風格=「」 ATTR

這就是爲什麼它們被稱爲層疊備案

所以鏈接的樣式表的!important聲明,你可以看到樣式表,是不是所有的這!畢竟是重要的。

Firebug的使用上即時用戶聲明與!對於很多的工具,其重要(如高亮的div /鏈接/等)

嘗試查看沒有螢火蟲。如果它改變了它,它的螢火蟲就會變形它

1

這可能是因爲很多原因而發生的。例如:

  • 一個你!important條款被另一!important條款進行覆蓋,以更具體的選擇(編輯:其他人的一個回答你的問題,布拉德指出資源看:www.w3.org/TR/CSS2/cascade.html#specificity
  • 你已經使用了特定的元素一些內嵌樣式,
  • 您使用JavaScript來實際添加一些內嵌樣式到元素,

你說你有Firebug的,所以你應該能夠確定什麼是案子。查看啓用和禁用JS,查看適用於特定選擇器的樣式並查看結果樣式。沒有這些代碼,我們就沒有太多可以說的了。