• ie6+7+8等对background-color:rgba(),background-img渐变的兼容


    一,ie8兼容rgba()的解决办法

         

    今天遇到了一个问题,要在一个页面中设置一个半透明的白色div。这个貌似不是难题,只需要给这个div设置如下的属性即可:

    background: rgba(255,255,255,.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代码如下:

    <span style="white-space:pre">	</span>background: rgba(255,255,255,.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了。

    转载:http://www.tuicool.com/articles/juiEFrb

    二。背景色渐变兼容到IE8/7/6的方法

    background-color: #cae8fe;

    background-image: linear-gradient(#007ed5, #cae8fe);
    background-image: -webkit-linear-gradient(#007ed5, #cae8fe);
    background-image: -moz-linear-gradient(#007ed5, #cae8fe);
    background-image: -o-linear-gradient(#007ed5, #cae8fe);
    background: -ms-linear-gradient(top, #007ed5 0, #cae8fe 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#007ed5', endColorstr='#cae8fe', GradientType=0);

     

    Css3: gradient背景渐变  

  • 相关阅读:
    继承和派生
    面向过程和面向对象 , 面向对象基础
    numpy模块、matplotlib模块、pandas模块
    包 ,模块(time、datetime、random、hashlib、typing、requests、re)
    os模块 sys模块 json/pickle 模块 logging模块
    python模块基础
    匿名函数 python内置方法(max/min/filter/map/sorted/reduce)面向过程编程
    最简单的注册美区Apple ID方法
    迭代器 生成器 函数递归
    ODBC连接时报错不可识别的数据库格式
  • 原文地址:https://www.cnblogs.com/morning0529/p/4823973.html
Copyright © 2020-2023  润新知