从供应商控制的样式表中删除或重置高特异性规则

时间:2018-10-12 20:49:18

标签: css

我正在CMS中使用某些CSS,以强制使用某些初始样式。我无法删除或修改此样式表。 CMS样式表中的一行是

a:visited {
    color: purple;
}

我在自己的样式表中定义了几个用于设置文本颜色的类:

.foo {
    background-color: blue;
    color: white;
}

.foo为大多数文本(包括未访问的链接)正确设置颜色。但是,由于a:visited规则具有更高的特异性,因此所有访问过的链接都显示为紫色。

我该怎么做才能重置或删除此访问的链接规则?


我想避免在样式表中添加更多特定的选择器-这只会使选择器的问题变得更加具体:

foo, a.foo {
    background-color: blue;
    color: white
}

我尝试将访问的链接颜色设置回其初始值:

a:visited {
    color: initial
}

但是,那个规则比.foo具有更高的特异性。我的文字显示为浏览器的默认黑色,而不是所需的白色。

1 个答案:

答案 0 :(得分:0)

通常认为它有点骇人听闻,但如果您不想使用更特定的选择器,请对所需选择器使用!important,它将覆盖供应商样式表。

.foo {
    background-color: blue !important;
    color: white;
}

我个人的喜好是对页面的不同部分使用不同的链接样式,例如,菜单链接,主部分中的链接和页脚中的链接的样式都将不同。