解密 CSS 中 MS 过滤器的 HEX RGBA
我正在为一个页面编写样式,我想在某些列表项的背景上使用 rgba 颜色。我使用 CSS 背景属性和 rgba(146,138,118,.4) 来定义我的透明背景颜色。
现在我试图通过使用 ms-filter 技术来覆盖 IE 支持,如 这篇文章。 (请参阅标题“...和 RGBA for all。”)
问题显然是 MS 过滤器要求您使用 RGBA 和 Hex 之间的某种混合类型,其中 alpha 透明度值被转换为 00 之间的数字和FF。请参阅 Microsoft 的此说明页以供参考。
所以问题是我不知道如何正确地将我的值从 RGBA 转换为十六进制/rgba 混合方法。有人能给我一些关于这方面的好的参考资料吗?请不要只给我正确的值——除了那种颜色之外,这对我没有任何好处。我需要了解其背后的原理,谢谢。
I'm writing styles for a page where I'd like to use rgba colors on the background of some list items. I've used the CSS background property along with rgba(146,138,118,.4) to define my transparent background color.
Now I'm trying to cover my bases with IE support by using the technique of an ms-filter as described in this article. (see heading "...and RGBA for all.")
The trouble is apparently the MS-filter requires you to use some type of hybrid between RGBA and Hex where the alpha transparency value is translated to a number between 00 and FF. See this description page from Microsoft for reference.
So the trouble is I can't figure out how on earth to properly convert my value from RGBA to that hex/rgba hybrid method. Can anybody point me to some good reference material on this? Please don't just give me the correct value - that does me no good outside of that color. I need to understand the how behind it, thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将 rgba alpha 转换为渐变过滤器格式非常简单。它是从区间
[0, 1]
到区间[0, 255]
的映射,以十六进制表示。要进行转换,只需乘以255
并转换为十六进制即可。例如,rgba(rr, gg, bb, 0.5)
中的不透明度最终为7F
(或80
,如果您四舍五入的话) ):我假设您不是在问如何在 10 进制和 16 进制之间进行转换。
Translating an
rgba
alpha to the gradient filter format is very simple. It's a mapping from the interval[0, 1]
to the interval[0, 255]
, represented in hex. To do the conversion, then, just multiply by255
and convert to hex. For example, opacity inrgba(rr, gg, bb, 0.5)
ends up as7F
(or80
, if you're rounding up):I assume you're not asking about how to convert between base 10 and base 16.