一个小方法解决RGBA不兼容IE8

本文转载于:猿2048网站一个小方法解决RGBA不兼容IE8php

原网页http://blog.csdn.net/leihope_/article/details/70158902css

要在一个页面中设置一个半透明的白色div。这个貌似不是难题,只须要给这个div设置以下的属性便可:浏览器

background: rgba(255,255,255,0.1);

可是要兼容到ie8。这个就有点蛋疼了。由于ie8不支持rgba()函数。下面咱们总结一下rgba()函数的含义。函数

rgba的含义,r表明red,g表明green,b表明blue,红绿蓝是三原色。全部颜色均可以由这三种颜色拼合而成。a表明透明度。好比rgba(255,255,255,0.1)就是透明度为0.1的白色。在现代浏览器中是支持rgba的。可是在ie8等古董级浏览器中是不支持的rgba的,ie8只能勉强支持rgb()函数(即去掉了透明度,只能表示颜色)。网站

因此在ie8中设置半透明就要费点脑子了。从大神那里得知可使用ie的filter来解决这个问题,css代码以下:spa

background: rgba(255,255,255,0.1);
        filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#19ffffff,endColorstr=#19ffffff);

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

你们注意,这个颜色“#19ffffff”是由两部分组成的。

第一部是#号后面的19 。是rgba透明度0.1的IEfilter值。从0.1到0.9每一个数字对应一个IEfilter值。对应关系以下:orm

 

第二部分是19后面的六位 。这个是六进制的颜色值。要跟rgb函数中的取值相同。好比rgb(255,255,255)对应#ffffff;都是白色。xml

到这里,rgba的用法就能够兼容IE8了。blog

相关文章
相关标签/搜索