【问题标题】:Css rules only affecting some elements?CSS规则只影响某些元素?
【发布时间】:2014-06-25 21:18:49
【问题描述】:

我正在尝试为blender.stackexchange 创建一个自定义的时尚主题,但是规则只影响我在 FF 29.0.1 中的一些标签

据我所知,所有标签元素都有相同的类/父元素/等,但只有一些受到时尚样式表的影响。

我用于测试的完整时尚主题:

@-moz-document url('https://blender.stackexchange.com/') {

.post-tag, .tags a:hover, .tags * {
    color:red !important;
}

}

所有标签在鼠标悬停时都会变成红色,但只有一些标签不在光标下时会变成红色。这是为什么呢?

以下是其中一个未被覆盖的标签的示例:

还有一个是(尽管根据检查员的说法,它不是!?):

有趣的是,我在 SO 上进行了尝试,它按预期工作。

【问题讨论】:

  • F12,检查不是红色的链接,看看类是否符合你的css规则。
  • @KrisHollenbeck 据我所知,他们确实如此。
  • 提示:请不惜一切代价避免使用!important
  • gandalf,它到底说他们从哪里继承了他们的颜色值?很可能发生的情况是颜色被更具体的选择器覆盖。
  • 是否有 :visited 规则覆盖事物?在 Blender 当前的 CSS 中,有一个 .post-tag:visited 规则也定义了一个 !important 颜色 (eww),它与您最近的屏幕截图的颜色相匹配。

标签: css stylish


【解决方案1】:

对于已访问的锚点状态有一个现有规则,其中带有 !important 声明,阻止新颜色优先。

现有款式:

a.post-tag:visited {
    color: #566e76 !important;
}

【讨论】:

    【解决方案2】:

    Thanks to Cryode,他指出存在带有!important 颜色声明的:visited 规则。

    我设法用更多 specific selector 覆盖了 Stylish 中的这一点:

    a.post-tag, div.tags > a.post-tag:visited {
        color:blue !important;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 2012-09-21
      • 2013-08-01
      • 2020-04-05
      • 2013-12-11
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2010-12-15
      相关资源
      最近更新 更多