我知道你能写…

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(#ff0000, 0.5);

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

其他回答

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

background: #56ff0077;

我在对问题进行增强后找到了答案。对不起!

Excel帮了大忙!

只需在十六进制颜色值前添加十六进制前缀,就可以添加一个透明度与%值相同的alpha。

(在rbga中,不透明度百分比是用上面提到的十进制表示的)

Opacity %   255 Step        2 digit HEX prefix
0%          0.00            00
5%          12.75           0C
10%         25.50           19
15%         38.25           26
20%         51.00           33
25%         63.75           3F
30%         76.50           4C
35%         89.25           59
40%         102.00          66
45%         114.75          72
50%         127.50          7F
55%         140.25          8C
60%         153.00          99
65%         165.75          A5
70%         178.50          B2
75%         191.25          BF
80%         204.00          CC
85%         216.75          D8
90%         229.50          E5
95%         242.25          F2
100%        255.00          FF

如果你可以使用LESS,有一个渐隐功能。

@my-opaque-color: #a438ab;
@my-semitransparent-color: fade(@my-opaque-color, 50%);

background-color:linear-gradient(to right,@my-opaque-color, @my-semitransparent-color); 

// result: 
background-color: linear-gradient(to right, #a438ab, rgba(164, 56, 171, 0.5));

白马王子:

只有ie浏览器允许ARGB格式的4字节十六进制颜色,其中A是Alpha通道。它可以用于渐变过滤器,例如:

filter  : ~"progid:DXImageTransform.Microsoft.Gradient(GradientType=@{dir},startColorstr=@{color1},endColorstr=@{color2})";

其中dir可以是:1(水平)或0(垂直) 颜色字符串可以是十六进制颜色(#FFAAD3)或argb十六进制颜色(#88FFAAD3)。

不同颜色的符号是你要学习的。 库尔给你一个更好的机会找到颜色和多种符号。十六进制与RGB, FF = 255和00 = 0没有什么不同,但这就是你所知道的。所以在某种程度上,你必须把它形象化。 我使用Hex, RGBA和RGB。除非需要大量转换,否则手动这样做将帮助您记住一些奇怪的100种颜色及其代码。 要进行大规模转换,请编写一些类似Alarie所给出的脚本。尽情享受色彩的乐趣吧。