rgba兼容ie

css代码如下:

background: rgba(0, 0, 0,0.5);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000, endColorstr=#80000000);

背景颜色rgb(0,0,0)不透明度0.5,支持ie9+和主流chrome,firefox,opera,safari等。
startColorstr和endColorstr中的#80是不透明度0.5的数值,计算方法是:先计算80的十进制x,x/255 = 5/10,解得x=5*255/10,然后再把x换算成十六进制,得80。
000000是rgb(0,0,0)的Hex值。

DXImageTransform.Microsoft.gradient()可添加
特性:

Enabled:布尔值(Boolean)。设置或检索滤镜是否激活。 true 默认值,滤镜激活 | false 滤镜被禁止

GradientType:可读写。整数值(Integer)。设置或检索色彩渐变的方向。1 | 0

  1:默认值。水平渐变。

  0:垂直渐变。

StartColorStr:可读写。字符串(String)。参阅 startColorStr 属性。

StartColor:可读写。整数值(Integer)。设置或检索色彩渐变的开始颜色。 取值范围为 0 - 4294967295 。 0 为透明。 4294967295 为不透明白色。

EndColorStr:可读写。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅 startColorStr 属性。默认值为 #FF000000 。不透明黑色。

EndColor:可读写。整数值(Integer)。设置或检索色彩渐变的结束颜色。 取值范围为 0 - 4294967295 。 0 为透明。 4294967295 为不透明白色。当在脚本中使用此特性时,也可以用十六进制格式: 0xAARRGGBB 。

在ie9中rgba和filter的效果会叠加形成两层滤镜,所以用hack判断一下: <!--[if lte IE 8]>HTML代码<![endif]-->

posted @ 2014-03-15 14:04  jiaojiao085  阅读(249)  评论(0编辑  收藏  举报