是否可以让属性变量具有另一个变量的值?
像这样:
:root {
--theme-primary: --color-red;
--color-red: #F44336;
}
... 或者:
:root {
--theme-primary: var(--color-red);
--color-red: #F44336;
}
如果可能,代码是什么,尽可能不使用 JS ?
这是可能的。在以下示例中,变量--theme-primary
获取 的值--color-yellow
。如果不可能(变量--color-yellow
未定义或无效)--theme-primary
将是黑色 ( #000
)。
:root {
--theme-primary: var(--color-yellow, #000);
--color-yellow: yellow;
--color-blue: blue;
}
:root {
--theme-secondary: var(--color-blue);
}
div {
background: var(--theme-primary, green);
border:5px dashed var(--theme-secondary, white);
height:100px;
width:100px;
}
<div>Hello World</div>
您还可以使用变量作为后备( 的第二个参数val
)。所以你可以做类似的事情var(--theme-primary, var(--theme-secondary, white));
附加链接:
- 我可以使用的浏览器支持:http :
//caniuse.com/#feat=css-variables- 在 Mozilla 开发者网络上使用 CSS 变量:https :
//developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables- W3C 规范:https :
//www.w3.org/TR/css-variables-1/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句