【发布时间】:2021-08-22 17:35:41
【问题描述】:
我正在为一个小项目定义一个颜色集。我想为一系列 hsla() 颜色定义自定义属性,但能够改变这些颜色的不透明度。我应该能够做这样的事情:
:root {
--clr-900: hsla(36, 83%, 0%, var(--opacity, 1));
--clr-700: hsla(36, 83%, 30%, var(--opacity, 1));
--clr-300: hsla(36, 83%, 70%, var(--opacity, 1));
--clr-200: hsla(36, 83%, 85%, var(--opacity, 1));
--clr-100: hsla(36, 83%, 100%, var(--opacity, 1));
}
理论上,如果我只应用该属性,我得到的不透明度为 1。如果我设置 --opacity 自定义属性,它会改变不透明度:
.test1 {
background-color: var(--clr-900);
// hsla(36, 83%, 85%, 1)
}
.test2 {
--opacity: 0.65;
background-color: var(--clr-900);
// hsla(36, 83%, 85%, 0.65)
当我尝试这个时,我总是得到回退值 (1),而不是在存在时解析 var(--opacity)。
【问题讨论】:
标签: css