!重要的被覆盖
我正在使用JQuery mobile,我希望我的应用程序上的所有文本都是紫色的。 我这样做了: color: #7A68AE !important;
在我的css的body
部分。
然后我尝试在firebug中调试它并注意到我的!important
被覆盖了。
这怎么可能? 不是!important
是应该覆盖其他一切吗?
注意我已经解决了这个问题,我真的很好奇为什么!important
是没有用
看看特异性的规范 。 虽然!important
应该覆盖,但由于其承载的重量,内联样式可能会覆盖它。
然而,没有看到一个例子,我不能100%肯定。
另见!重要规则
!重要的是在相同的层次结构级别上运行任何东西 – 但是带有!important声明的用户样式表就像是无与伦比的。
完整的层次结构链接样式表<嵌入样式在head <在doc样式块中(受影响的元素之前)
这就是为什么它们被称为层叠样式表的记录
因此,你可以看到一个带有!important声明的链接样式表并不是全部!重要的是毕竟。
Firebug使用即时用户声明,对于很多工具都很重要(比如突出显示div / links /等)。
尝试不使用Firebug进行查看。 如果这改变它,它的firebug改变它
这可能是因为许多原因而发生的。 例如:
- 一个你的
!important
条款被另一个!important
条款覆盖,有更具体的选择器(编辑:其中一个人回答你的问题,布拉德,指出了一个资源: http://www.w3.org/TR/CSS2/cascade.html#特异性 ), - 你已经为特定元素使用了一些内联样式,
- 你使用JavaScript实际在元素中添加了一些内联样式,
你说你有Firebug,所以你应该能够确定是什么情况。 请参阅JS启用和禁用,查看应用于特定选择器的样式并查看生成的样式。 如果没有代码,我们就可以说不多了。