天天看点

rgba()如何兼容IE8

每次调试IE都觉得google大法好,言归正传,介绍一下ie8如何使用rgba()。

首先,说一下rgba的含义

RGBA

RGBA(R,G,B,A)

  • R:红色值。正整数 | 百分数
  • G:绿色值。正整数 | 百分数
  • B:蓝色值。正整数 | 百分数
  • A:Alpha透明度,取值0~1之间。

IE6.0-8.0不支持使用 rgba 模式实现透明度,只能使用 IE 滤镜处理。

例如:我要实现rgba(0,0,0,0.7),一个遮盖层的蒙层效果,在IE6-8使用如下:
filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#b2000000, endColorstr=#b2000000);      

#b2000000 的前两位数字控制透明度,取值16进制从00 -> FF(越小越透明),00表示完全透明,FF就是全不透明,后面六位是色值。

progid:DXImageTransform.Microsoft.Gradient()滤镜里的 startColorstr 参数值是 #AARRGGBB 形式的, 其中的AA是代表不透明

度的十六进制,00表示完全透明,FF就是全不透明,化成十进制的范围就是0~255,剩下的 RRGGBB 就是颜色的十六进制代码。

常见的透明度对应关系:

0(00) 0.05(0C) 0.1(19)  0.15(26)0.2(33)  0.25(3F) 0.3(4C) 0.35(59)
0.4(66) 0.45(72)0.5(7F) 0.55(8C)0.6(99) 0.65(A5) 0.7(B2) 0.75(BF)
0.8(CC) 0.85(D8) 0.9(E5)0.95(F2)