4

我知道 IE 不支持 RGBa。我也知道您可以使用以下方法:

/* For IE 5.5 - 7*/
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
/* For IE 8*/
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";

“Colorstr”中的前两个数字是不透明度的值。99 是 0.6 的不透明度。对于其他级别的不透明度,数值是多少?我找不到他们。有没有一种简单的方法来计算不透明度的数量?或者我在哪里可以找到这些值?

谢谢=>

4

4 回答 4

5

看起来它是直接的 1 字节十六进制,所以就这样做

假设您的不透明度为 30%:

.30 * 255 = 76.5
76 -> hex = 4C

您可以使用各种桌面工具、在线页面或此 JS 函数将十进制转换为十六进制:

new Number(76).toString(16);
于 2011-08-04T03:14:25.157 回答
1

这是一个十六进制的 99,即十进制的 153。在 js 控制台中输入 0x99,它将输出 153。F 是十六进制的最高数字,因此输入 0xff(两个十六进制数字的最大值)将为您提供 255。如果 255 是 100%,而 153 是您想要的值要知道你的百分比将 153 除以 255,得到 0.6。

于 2011-08-04T03:14:52.693 回答
0

截至 2011 年 3 月,Internet Explorer 9+ 可以正确处理 rgba,而且实际上比 [Chrome|Mozilla|Safari] 更准确/更彻底...

于 2012-12-21T20:25:33.150 回答
0

当然,使用像这样的十六进制到百分比转换器:

#999999转换为rgb(60%, 60%, 60%)所以 99 = 60%

#BABABA转换为rgb(73%, 73%, 73%)所以 BA = 73%

您可能会找到比我建议的更好的十六进制转换器。请记住,十六进制是基数 16,而不是 10...

于 2011-08-04T03:17:09.460 回答