有没有办法覆盖 CSS 规则以从根本上否定它?
Is there a way to override a CSS rule to essentially negate it?
如果我有一个要覆盖的 classic.css
文件(在这种情况下,它来自用于 Python 的 Sphinx 文档: https://docs.python.org/2.7/_static/classic.css )并且本质上是 "undo"一条规则,有没有办法做到这一点?
在这种情况下有这些规则:
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
.
即可应用到所有地方
澄清一下:根据 Sphinx 文档,我的 custom.css
以 @import(classic.css);
开头,而不是 [=19= 中通常使用的两个 <link rel="stylesheet" type="text/css">
元素] 部分。
您想在 <head>
标签中包含两个 CSS 文件。关键是您希望 custom.css
文件位于 classic.css
文件下方,如下所示:
<head>
<link rel="stylesheet" type="text/css" href="classic.css">
<link rel="stylesheet" type="text/css" href="custom.css">
</head>
这样做是尊重 CSS 的 'cascading' 部分。它看到 classic.css
中的第一条规则,但是当它到达 custom.css
时,它会覆盖之前看到的规则。
是的,您可以使用 属性
中的 initial
to revert to the initial value
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关键字inherit
可用于任何属性,其作用是将属性设置为父元素的值。
如果我有一个要覆盖的 classic.css
文件(在这种情况下,它来自用于 Python 的 Sphinx 文档: https://docs.python.org/2.7/_static/classic.css )并且本质上是 "undo"一条规则,有没有办法做到这一点?
在这种情况下有这些规则:
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
.
澄清一下:根据 Sphinx 文档,我的 custom.css
以 @import(classic.css);
开头,而不是 [=19= 中通常使用的两个 <link rel="stylesheet" type="text/css">
元素] 部分。
您想在 <head>
标签中包含两个 CSS 文件。关键是您希望 custom.css
文件位于 classic.css
文件下方,如下所示:
<head>
<link rel="stylesheet" type="text/css" href="classic.css">
<link rel="stylesheet" type="text/css" href="custom.css">
</head>
这样做是尊重 CSS 的 'cascading' 部分。它看到 classic.css
中的第一条规则,但是当它到达 custom.css
时,它会覆盖之前看到的规则。
是的,您可以使用 属性
中的initial
to revert to the initial value
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关键字inherit
可用于任何属性,其作用是将属性设置为父元素的值。