我知道你能写…

background-color: #ff0000;

... 如果你想要红色的东西。

你可以写…

background-color: rgba(255, 0, 0, 0.5);

... 如果你想要红色半透明的。

有没有简单的十六进制表示部分透明颜色的方法?我想要这样的东西:

background-color: #ff000088; <--- the 88 is the alpha

... 还是……

background-color: #ff0000 50%;

我得到的所有颜色都是十六进制的,而必须将它们全部转换为0-255的十进制刻度,这很烦人。


当前回答

Sass有红色,绿色,蓝色可以从十六进制颜色中提取通道:

background-color: rgba(red($hex_color), green($hex_color), blue($hex_color), 0.2);

Sass也有rgba($hex_color, $alpha)

其他回答

恐怕不行。你知道的rgba格式是唯一的。

请看这里http://www.w3.org/TR/css3-color/#rgba-color

这是不可能的,很可能是因为0xFFFFFFFF大于32位整数的最大值

在Sass中,我们可以这样写:

background-color: rgba(#ff0000, 0.5);

因为它被建议在十六进制表示的颜色与alpha通道?

#rrggbbaa符号在Chrome 62+和所有其他常绿浏览器中完全支持:

background: #56ff0077;
RGB='#ffabcd';
A='0.5';
RGBA='('+parseInt(RGB.substring(1,3),16)+','+parseInt(RGB.substring(3,5),16)+','+parseInt(RGB.substring(5,7),16)+','+A+')';