【发布时间】:2022-11-26 01:09:35
【问题描述】:
我正在尝试在变量中继承全局字体系列。但是,这不起作用。
:root {
--special-font: sans-serif;
}
html {
font-family: serif;
}
.highlight {
font-family: var(--special-font);
}
.special {
--special-font: inherit;
}
/* .special {
--special-font: serif;
} */
/* .special .highlight {
font-family: inherit;
} */
<html>
<body>
<div>
<p>
Standard Font: Serif
</p>
<p class="highlight">
Highlight Font: Sans Serif
</p>
</div>
<div class="special">
<p class="highlight">
Special Highlight: should be Serif
</p>
</div>
</body>
</html>
注释掉的规则都可以使用。但我宁愿不重复自己。有什么我想念的吗?
【问题讨论】:
-
当您设置一个变量时,您以后不能再给它赋值。创建 2 个变量,如
--standard-font和--highlight-font并只使用 font-family: 变量。 `:root { --special-font: sans-serif; --衬线字体:衬线; } html { font-family: var(--serif-font); } .highlight { font-family: var(--special-font); } .special .highlight { font-family: var(--serif-font); }`` -
抱歉错误的代码格式
-
@AlexandraBatrak 那将是一种解决方法。但这是不正确的,以后不能更改变量。如果我在
.special选择器中指定serif而不是inherit,它会按预期工作。 -
你是对的 :D 它适用于
.special { --special-font: initial; }
标签: css css-variables