ie不兼容css3 渐变色

有时我们会看到网站上的一些图片是渐变色的,这些图片有的是ui设计出来的,有的则是直接通过css3制作出来的。下面就讲一下css3实现渐变色的方法,以及在各个浏览器上的兼容性。

CSS3 Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变)。而我们今天主要是针对线性渐变来剖析其具体的用法。

下面是代码:

.line-color{
            width: 200px;
            height: 200px;
            FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0, 
            startColorStr=#AC07BD, endColorStr=#f6f6f8); /*IE 6 7 8*/
            background: -ms-linear-gradient(top, #AC07BD, #f6f6f8);   
                 /* IE 10 */
            background:-moz-linear-gradient(top, #AC07BD, #f6f6f8);/*火狐*/
 
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#AC07BD),
             to(#f140f8));  /* Safari 4-5, Chrome 1-9*/
            background: -webkit-linear-gradient(top, #AC07BD, #f140f8);   
            /*Safari5.1 Chrome 10+*/
            background: -o-linear-gradient(top, #AC07BD, #f140f8); 
             /*Opera 11.10+*/
            linear-gradient(to bottom, hsl(0, 80%, 70%), #bada55); 
            /* Standard syntax; must be last */
        }

代码行4/5 线性渐变在Trident (IE)下的应用(推荐学习:CSS视频教程

1.png

IE依靠滤镜实现渐变。startColorstr表示起点的颜色,endColorstr表示终点颜色。GradientType表示渐变类型,0为缺省值,表示垂直渐变,1表示水平渐变。如图所示:

2.png

注:

1. 在实际的项目中,往往会碰到圆角和渐变的组合,如果使用上面的写法,那么在 ie9 下会有 bug(在 ie9 下背景色不能完全切完),解决方法是SVG。

2. 由于 filter 是 ie 的私有属性,所以我们需要针对 ie9 单独处理滤镜效果,代码如下: 代码如下:

:root {filter:none;}

总结:

综上所述,线性渐变的兼容写法如下:

.gradient{
    background: #000000;
    background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%);
    background: -webkit-gradient(linear, left top, left bottom,
     color-stop(0%,#000000),color-stop(100%,#ffffff));
    background: -webkit-linear-gradient(top, #000000 0%,#ffffff 100%);
    background: -o-linear-gradient(top, #000000 0%,#ffffff 100%);
    background: -ms-linear-gradient(top, #000000 0%,#ffffff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', 
    endColorstr='#ffffff',GradientType=0 );
    background: linear-gradient(to bottom, #000000 0%,#ffffff 100%);
} 
:root .gradient{filter:none;
}

更多CSS相关技术文章,请访问CSS3答疑栏目进行学习!

以上就是ie不兼容css3 渐变色的详细内容,更多请关注html中文网其它相关文章!

赞(0) 打赏
未经允许不得转载:html中文网首页 » CSS3 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏