【问题标题】:!important Overridden!import 被覆盖
【发布时间】:2011-05-25 18:47:58
【问题描述】:

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

然后我尝试在 firebug 中调试它,发现我的 !important 被覆盖了。

这怎么可能? !important 不应该覆盖其他所有内容吗?

注意我已经解决了这个问题,我只是很好奇为什么!important不起作用

【问题讨论】:

  • 这与特异性有关。

标签: jquery css jquery-mobile


【解决方案1】:

查看specificity 上的规范。虽然 !important 应该覆盖,但由于它所承载的重量,内联样式可能会覆盖它。

但是,如果没有看到一个例子,我不能 100% 肯定。

另见!important rules

【讨论】:

    【解决方案2】:

    !important 确实覆盖了相同层次结构级别的任何东西——但是带有 !important 声明的用户样式表是无与伦比的。

    完整的层次结构是 链接样式表 depriciated) style="" attr)

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

    因此,正如您所见,带有 !important 声明的链接样式表并不是全部都那么 !important。

    Firebug 使用带有 !important 的即时用户声明,用于其许多工具(例如高亮显示 div/链接/等)

    尝试不使用 Firebug 进行查看。如果这改变了它,它的萤火虫会改变它

    【讨论】:

      【解决方案3】:

      发生这种情况的原因可能有很多。例如:

      • 一个你的!important 子句被另一个!important 子句覆盖,具有更具体的选择器(编辑:回答你问题的其他人之一,布拉德,指出了一个关于它的资源:@​​987654321@),
      • 您为特定元素使用了一些内联样式,
      • 您使用 JavaScript 实际上将一些内联样式添加到元素中,

      你说你有 Firebug,所以你应该能够确定是什么情况。查看启用和禁用 JS,查看应用于特定选择器的样式并查看生成的样式。没有代码,我们对此无话可说。

      【讨论】:

        猜你喜欢
        • 2013-03-12
        • 2019-11-22
        • 2012-08-07
        • 1970-01-01
        • 1970-01-01
        • 2017-11-04
        • 2016-06-11
        • 2016-12-27
        • 2013-09-02
        相关资源
        最近更新 更多