!重要的被覆盖

我正在使用JQuery mobile,我希望我的应用程序上的所有文本都是紫色的。 我这样做了: color: #7A68AE !important; 在我的css的body部分。

然后我尝试在firebug中调试它并注意到我的!important被覆盖了。

这怎么可能? 不是!important是应该覆盖其他一切吗?

注意我已经解决了这个问题,我真的很好奇为什么!important是没有用

看看特异性的规范 。 虽然!important应该覆盖,但由于其承载的重量,内联样式可能会覆盖它。

然而,没有看到一个例子,我不能100%肯定。

另见!重要规则

!重要的是在相同的层次结构级别上运行任何东西 – 但是带有!important声明的用户样式表就像是无与伦比的。

完整的层次结构链接样式表<嵌入样式在head <在doc样式块中(受影响的元素之前)depriciated )style =“”attr )

这就是为什么它们被称为层叠样式表的记录

因此,你可以看到一个带有!important声明的链接样式表并不是全部!重要的是毕竟。

Firebug使用即时用户声明,对于很多工具都很重要(比如突出显示div / links /等)。

尝试不使用Firebug进行查看。 如果这改变它,它的firebug改变它

这可能是因为许多原因而发生的。 例如:

  • 一个你的!important条款被另一个!important条款覆盖,有更具体的选择器(编辑:其中一个人回答你的问题,布拉德,指出了一个资源: http://www.w3.org/TR/CSS2/cascade.html#特异性 ),
  • 你已经为特定元素使用了一些内联样式,
  • 你使用JavaScript实际在元素中添加了一些内联样式,

你说你有Firebug,所以你应该能够确定是什么情况。 请参阅JS启用和禁用,查看应用于特定选择器的样式并查看生成的样式。 如果没有代码,我们就可以说不多了。