2011-08-04 69 views
4

我知道,IE不支持的RGBA。我也知道您可以使用以下方法:的RGBA在Internet Explorer

/* 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的不透明度。对于其他不透明度级别,数值是多少?我找不到他们。有没有简单的方法来计算不透明度的数量?或者我可以在哪里找到这些值?

感谢=>

回答

5

看起来像它的直1字节十六进制,所以才这样做

说你的不透明度为30%:

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

您可以转换十进制使用十六进制各种桌面工具,在线页面或者这个JS功能:

new Number(76).toString(16); 
+0

我喜欢的JS功能 – stephenmurdoch

+0

谢谢你,你的答案是最直接的=>我发现这个网站:http://www.statman.info/conversions/hexadecimal.html,提供了一个非常容易使用的工具像你所做的那样转换为十六进制。 – L84

+0

我想你一定倍数256,并采取1: 0.30 * 256 - 1 = 75.8(这只是理论,我可能是错的)。 – Haradzieniec

1

这是他十进制99,十进制为153。在JS控制台类型0x99,它会吐出153 F是十六进制的最高位在0xFF的(对于两个十六进制数字的最高值),所以打字会给你255,如果255是100%和153是你想要的值要知道你的百分比除以255,结果为0.6。

0

肯定,使用像this十六进制到百分比转换器:

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

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

你也许可以找到一个比我提出了一个更好的十六进制转换器。请记住,十六进制为基数为16,而不是10 ...

+0

看到约瑟这背后的数学提供,过分热心的其他答案 – stephenmurdoch

0

截至2011年3月,Internet Explorer的9+正确?过程RGBA,而且,事实上,这样做更准确地/彻底,比[浏览器| Mozilla的| Safari浏览器。 ..