当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《有没有办法覆盖CSS规则基本上否定它?》经验,为你挑选了1个好方法。

如果我有一个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;
}

我想做的就像是

div.sphinxsidebar h3,
div.sphinxsidebar h4
{
   font-family: [revert-to-auto];
   color: [revert-to-auto];
}

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

只是为了澄清:我的custom.css开头@import(classic.css);是按照Sphinx文档开头的,而不是通常使用的两个元素.



1> Oriol..:

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

div.sphinxsidebar h3,
div.sphinxsidebar h4
{
   font-family: initial;
   color: initial;
}

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

div.sphinxsidebar h3,
div.sphinxsidebar h4
{
   font-family: revert;
   color: revert;
}


对于作者级CSS中的font-family,initial几乎不是一个合适的值 - 它的作用是恢复为用户prefs中指定的默认族(或某些任意浏览器默认值).这是一种罕见的情况,其中属性的"初始值"实际上由规范定义为依赖于浏览器,并且初始关键字实际上"恢复为浏览器默认值".(颜色的初始值很好,因为颜色的初始值是currentcolor.)revert是可以的,因为它需要"默认继承" - 实际上,这个*确切的用例*是为revert做的.
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有