有没有办法覆盖CSS规则基本上否定它?

Jas*_*n S 3 css css-cascade

如果我有一个classic.css我想覆盖的文件(在这种情况下,它来自用于Python的Sphinx文档:https://docs.python.org/2.7/_static/classic.css)并且基本上是"撤消"规则,有办法做到这一点?

在这种情况下,有以下规则:

div.sphinxsidebar h3 {
    font-family: 'Trebuchet MS', sans-serif;
    color: #ffffff;
    font-size: 1.4em;
    font-weight: normal;
    margin: 0;
    padding: 0;
}

div.sphinxsidebar h4 {
    font-family: 'Trebuchet MS', sans-serif;
    color: #ffffff;
    font-size: 1.3em;
    font-weight: normal;
    margin: 5px 0 0 0;
    padding: 0;
}
Run Code Online (Sandbox Code Playgroud)

我想做的就像是

div.sphinxsidebar h3,
div.sphinxsidebar h4
{
   font-family: [revert-to-auto];
   color: [revert-to-auto];
}
Run Code Online (Sandbox Code Playgroud)

所以我可以指定字体系列和颜色,body并让它适用于所有地方,而不必使用!important.

只是为了澄清:我的custom.css开头@import(classic.css);是按照Sphinx文档开头的,而不是通常使用的两个<link rel="stylesheet" type="text/css">元素<head>.

Ori*_*iol 5

是的,您可以使用initial恢复到该属性的初始值

div.sphinxsidebar h3,
div.sphinxsidebar h4
{
   font-family: initial;
   color: initial;
}
Run Code Online (Sandbox Code Playgroud)

或Cascade Level 4引入revert,它将级联回滚到用户级别

div.sphinxsidebar h3,
div.sphinxsidebar h4
{
   font-family: revert;
   color: revert;
}
Run Code Online (Sandbox Code Playgroud)

  • 对于作者级CSS中的font-family,initial几乎不是一个合适的值 - 它的作用是恢复为用户prefs中指定的默认族(或某些任意浏览器默认值).这是一种罕见的情况,其中属性的"初始值"实际上由规范定义为依赖于浏览器,并且初始关键字实际上"恢复为浏览器默认值".(颜色的初始值很好,因为颜色的初始值是currentcolor.)revert是可以的,因为它需要"默认继承" - 实际上,这个*确切的用例*是为revert做的. (2认同)