一个小方法解决RGBA不兼容IE8
2017-04-13 16:02
92 查看
要在一个页面中设置一个半透明的白色div。这个貌似不是难题,只需要给这个div设置如下的属性即可:
但是要兼容到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代码如下:
第二句话的意思就是当上一行的透明度不起作用的时候执行。这句话的意思本来是用来做渐变的。但是这个地方不需要渐变。所以两个颜色都设置成了相同的颜色。
第一部是#号后面的19 。是rgba透明度0.1的IEfilter值。从0.1到0.9每个数字对应一个IEfilter值。对应关系如下:
第二部分是19后面的六位 。这个是六进制的颜色值。要跟rgb函数中的取值相同。比如rgb(255,255,255)对应#ffffff;都是白色。
到这里,rgba的用法就可以兼容IE8了。
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代码如下:
background: rgba(255,255,255,0.1); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#19ffffff,endColorstr=#19ffffff);
第二句话的意思就是当上一行的透明度不起作用的时候执行。这句话的意思本来是用来做渐变的。但是这个地方不需要渐变。所以两个颜色都设置成了相同的颜色。
大家注意,这个颜色“#19ffffff”是由两部分组成的。
第一部是#号后面的19 。是rgba透明度0.1的IEfilter值。从0.1到0.9每个数字对应一个IEfilter值。对应关系如下:第二部分是19后面的六位 。这个是六进制的颜色值。要跟rgb函数中的取值相同。比如rgb(255,255,255)对应#ffffff;都是白色。
到这里,rgba的用法就可以兼容IE8了。
相关文章推荐
- ie8不兼容rgba的解决方法
- IE8不兼容RGBA的解决方法
- 解决eWebEditor在线文本编辑器在IE8下不兼容的方法
- IE8不兼容eWebeditor问题的解决方法
- 一个IE8 Bug的解决方法以及一些思考
- ie6,ie7,ie8 css bug兼容解决方法
- 兼容ie8问题的解决方法-食用菌百科网站长提供
- 网页在IE8 下不兼容的问题解决方法(图)
- 解决IE8,IE9启用和禁用兼容模式的方法
- 网站制作---eWebeditor不兼容IE8问题的解决方法
- IE8 不兼容简单解决方法
- ie6,ie7,ie8 css bug兼容解决方法集合
- PHP4与PHP3中一个不兼容问题的解决方法
- 后台生成HTML时显示中文件方法。解决IE8显示界面的兼容
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- css兼容IE8的一个简便方法
- vs2005 Project Creation failed 项目创建错误,是因为和IE8不兼容,解决方法
- 解决eWebEditor在线文本编辑器在IE8,i9下不兼容的方法
- 网站制作---eWebeditor不兼容IE8问题的解决方法
- ie6,ie7,ie8 css bug汇总以及兼容解决方法