2011-08-04 148 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瀏覽器。 ..