!重要的已覆盖

问题描述

| 我正在使用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,查看适用于特定选择器的样式,并查看生成的样式。没有代码,我们就无话可说了。