1

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

现在,我正在尝试通过使用本文中描述的 ms-filter 技术来覆盖我的基础与 IE 支持。(请参阅标题“……和 RGBA”。)

问题显然是 MS 过滤器要求您在 RGBA 和 Hex 之间使用某种类型的混合,其中 alpha 透明度值被转换为 00 和 FF 之间的数字。请参阅Microsoft 的此描述页面以供参考。

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

4

1 回答 1

5

rgbaalpha 转换为渐变过滤器格式非常简单。它是从区间[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 之间转换。

于 2010-09-29T19:14:38.370 回答