【发布时间】:2018-12-06 09:28:58
【问题描述】:
是否可以在 CSS 中使用calc() 函数来操作十六进制颜色值?
在下面的 CSS sn-p 中,我想使用 --enable 变量在 MyBtnStyle 的 background-color 属性的两个十六进制颜色值之间切换:--enable-color 和 --disable-color。
使用rgb(r,g,b) 颜色格式可以实现这一点,其中每个颜色分量都是使用calc() 计算的,但我更喜欢直接在十六进制颜色值之间切换。
:root {
--enable: 0;
--disable-color: #ff0000;
--disable-r: 255;
--disable-g: 0;
--disable-b: 0;
--enable-color: #00ff00;
--enable-r: 0;
--enable-g: 255;
--enable-b: 0;
}
.MyBtnStyle {
width: 100%;
height: 100%;
text-align: center;
border: 2px;
margin: 1px 1px;
color: black;
padding: 1px 1px;
background-color: calc(var(--enable-color)*var(--enable) + var(--disable-color)*(1 - var(--enable)));
}
/* this works */
/* rgb( calc(var(--enable-r)*var(--enable) + var(--disable-r)*(1 - var(--enable)) ),
calc(var(--enable-g)*var(--enable) + var(--disable-g)*(1 - var(--enable)) ),
calc(var(--enable-b)*var(--enable) + var(--disable-b)*(1 - var(--enable)) )) */
【问题讨论】:
标签: css css-variables css-calc