IE8兼容rgba

嗯,关于IE8不兼容rgba()函数的这个问题,

background:rgba(236,236,236,0.8);

这样的一句代码在IE9及以上都是支持的,那么说一下IE8要怎么做?

background:rgba(236,236,236,0.8);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#C8ececec,endColorstr=#C8ececec);

第二句话的意思就是当上一行的透明度不起作用的时候执行。这句话的意思本来是用来做渐变的。但是这个地方不需要渐变。所以两个颜色都设置成了相同的颜色。


那么这个#C8ececec是怎么来的呢?

1.C8表示的是这个背景的透明度0.8。


扫描二维码关注公众号,回复: 870526 查看本文章

如上图去查找即可。

2.#ececec为rgb(236,236,236)的16进制值

ok,加进去这样一条样式就可以了。

但是还有一个问题,当我把这段代码加进去的时候,IE9的透明度又出了问题,当然在这期间,我改动代码IE10 一直是正常的,所以验证了一句话,IE9部分兼容,IE10基本是完全兼容的。

最后解决一下这个问题,

<!--[if IE 8]>     
     .form{
       filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#C8ececec,endColorstr=#C8ececec);
    }
 <![endif]-->

判断一下,如果浏览器为IE8,那就加上这句样式,否则,忽略掉这句就好了。

猜你喜欢

转载自blog.csdn.net/smallsun_229/article/details/51970762