问题描述
|
我正在使用JQuery mobile,并且希望所有文本在应用程序上显示为紫色。我这样做是:在CSS的
body
部分中的color: #7A68AE !important;
。
然后,我尝试在Firebug中调试它,并注意到我的!important
已被覆盖。
这怎么可能? !important
是否应该覆盖其他所有内容?
注意,我已经解决了这个问题,我只是很好奇为什么ѭ2work不起作用
解决方法
看一下关于特异性的规范。尽管应覆盖
!important
,但由于它的重量,行内样式可能会覆盖它。
但是,没有看到一个例子,我不可能100%积极。
另请参见重要规则
,!important可以在相同的层次结构级别上进行任何操作,但是带有!important声明的用户样式表就像无与伦比。
完整的层次结构是
链接的样式表<头中的嵌入样式<在doc样式块中(在受影响的元素之前)<在线样式(已折旧)<元素样式(style = \“ \” attr)
这就是为什么称它们为层叠样式表的原因
因此,正如您所看到的,带有!important声明的链接样式表毕竟不是!important的全部。
Firebug使用带有!important的即时用户声明来用于其众多工具(例如,高亮div / links / etc)。
尝试不使用Firebug查看。如果那改变了它,它的萤火虫会改变它
,这可能是由于许多原因而发生的。例如:
您的!important
子句被另一个!important
子句覆盖,并带有更具体的选择器(编辑:回答您问题的另一人布拉德指出了有关该资源的信息:www.w3.org/TR/CSS2/cascade.html#specificity),
您为特定元素使用了一些内联样式,
您实际上使用JavaScript在元素中添加了一些内联样式,
您说您有Firebug,因此您应该能够确定情况如何。请参见启用和禁用JS,查看适用于特定选择器的样式,并查看生成的样式。没有代码,我们就无话可说了。