解密HEX RGBA用于CSS中的MS过滤器

时间:2010-09-29 19:03:23

标签: css internet-explorer filter hex rgba

我正在为一个页面编写样式,我想在某些列表项的背景上使用rgba颜色。我已经使用CSS背景属性和rgba(146,138,118,.4)来定义透明背景颜色。

现在我试图通过使用ms-filter的技术来覆盖我的基础,如this article. (see heading "...and RGBA for all.")

中所述

问题显然是MS过滤器要求您在RGBA和Hex之间使用某种类型的混合,其中Alpha透明度值转换为介于00和FF之间的数字。请参阅Microsoft的this description page以供参考。

所以问题是我无法弄清楚如何将我的值从RGBA正确转换为hex / rgba混合方法。有人能指点我一些好的参考资料吗?请不要只给我正确的价值 - 除了那种颜色之外我没有好处。我需要了解其背后的原因,谢谢。

1 个答案:

答案 0 :(得分:4)

rgba alpha转换为渐变过滤器格式非常简单。它是从区间[0, 1]到区间[0, 255]的映射,以十六进制表示。要进行转换,只需乘以255并转换为十六进制。例如,rgba(rr, gg, bb, 0.5)中的不透明度最终为7F(或80,如果您正在四舍五入):

0.5 * 255 = 127.5 (base 10)
127 (base 10) = 7F (base 16)

我假设您没有询问如何在基数10和基数16之间进行转换。