【问题标题】:Injection new stylesheet rules注入新的样式表规则
【发布时间】:2013-08-30 15:01:47
【问题描述】:

我在我的页面上使用了一些 javascript 来在页面上放置一些插件,但是 javascript 添加了一些 css 样式并且那些新的 css 样式会覆盖页面上现有的 css 样式。

有没有办法禁用新的 CSS 样式。我知道我可以使用 javascript 删除新创建的 css 规则,但我不想使用 javascript。有可能吗?

谢谢

【问题讨论】:

  • 您可以为现有规则添加更大的 CSS 特异性,以便它们覆盖添加的任何新规则

标签: javascript css less ads banner


【解决方案1】:

您可以尝试通过一些简单的技巧来提高您的 css 规则的优先级。

例如,您可以为 html 中最外部的容器元素赋予一个 id 属性,例如 id="yourContainerId"。 然后,您可以通过将#yourContainerId 添加到您想要提升的所有类来提高css 类的优先级:

#yourContainerId .yourClass1 {

}

#yourContainerId .yourClass2 {

}

等等。

如果您想了解更多关于 css 优先级的信息,这是一个很好的资源: http://www.w3.org/wiki/CSS/Training/Priority_level_of_selector

注意:这个技巧在某些特定情况下是行不通的,因为如果你的 javascript 在你的 html 元素上写了 inline 样式就没什么可做的了,你只能用 js 删除它们。 如果您需要 jsFiddle 示例,请告诉我

【讨论】:

    【解决方案2】:

    只要看看这个 css 路径,然后做下一段代码:

     $("rel").each(function(){
          if($(this).attr("href")=="insert you path here"){
            $(this).attr("disabled", "disabled");
           }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-16
      • 2012-09-27
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      相关资源
      最近更新 更多