background-color:rgba(0,0,0,0.5);
-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000);
以上代码,我们想实现rgba(0,0,0,0.5)的颜色,为了使IE兼容可采用filter方法
格式是:
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#AARRGGBB,endColorstr=#AARRGGBB);
关于startColorstr和endColorstr的计算:
RRGGBB就是我们要改变透明度的颜色,这里我们是在黑色基础上改变透明度的,所以RRGGBB就是000000
这里仔细说一下startColorstr和endColorstr的值的计算,比如我们rgba(150,185,220,0.2),首先我们要设置的透明度是0.2,设X值,x/255=0.2,可以得到x是45,然后把十进制的45转换成十六进制,这里提供一个在线进制转换器http://jinzhi.supfree.net/,可以看到十进制45的十六进制表示为2D,这样AA的值就有了,然后背景颜色是(150,185,220)把这三个数值都转换为十六进制,150===》96,185===》B9,220===》DC,这样就得到了startColorstr和endColorstr就是#2D96B9DC
在IETester下测试,可以成功兼容到IE5-IE11
在IETester下测试,可以成功兼容到IE5-IE11