css - 如何取消 CSS 属性?

标签 css

我正在处理的页面附有许多不同的 CSS 文件,一个 boostrap.css、master.css 和一个 custom.css 文件。

我正在尝试删除一个属性,因为我不希望菜单中的链接上有 a:hover 属性。主 CSS 文件有

#topSurround a:hover {
    color: #ffffff;
}

bootstrap CSS 文件有

.nav > li > a:hover {
    text-decoration: none;
    background-color: #eee;
}

我不想编辑这些文件,因为它们是我正在使用的模板的核心文件并且可以更新,所以我使用的是自定义 CSS 文件。通常,我会将该属性设置为默认值以覆盖该属性之前的任何使用。

#topSurround a:hover {
    color: none; (doesn't work, as this isn't the correct default)
}

那么,两个问题:颜色属性的默认值是多少(好像没有)?有没有更简单的方法来解决这个问题而不必覆盖核心文件?

最佳答案

您可以使用 color: inherit 让颜色使用其祖先的值。 color奇怪的是它根据上下文有不同的默认值。例如,链接通常默认为蓝色,而文本默认为黑色。

如果您需要覆盖现有样式,不要使用更具体的选择器。提高 specificity意味着下次要覆盖它时,您只需使用更多选择器即可。

相反,通过使用具有相同特异性的选择器来利用级联,并在原始样式之后进行覆盖:

/* older style in some library */
.foo .bar .baz {
    color: blue;
}

...in an overriding CSS file...

.foo .bar .baz {
    color: green;
}

关于css - 如何取消 CSS 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18469164/

相关文章:

css - 在页面面板中呈现 html 时如何忽略页面上的现有 css

jquery - 将文本右对齐

html - CSS 表第一个 child 和最后一个 child 的边框半径不起作用

html - 即使窗口大小发生变化,如何使文本垂直对齐

css - 使用 HTML5 一次验证所有字段而不是一次验证一个字段

jquery - 从 Bootstrap 表中动态添加的元素获取元素值

css - 元素 bg 图像未显示

html - 用表格方法制作交互式菜单

HTML:如何删除这条虚线?

javascript - document.getElementById.style.backgroundImage 不工作