html5渐变兼容代码,ie不兼容css3 渐变色

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

5de5bf9329d61891.jpg

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视频教程)

1575337688280191.png

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

1575337712972759.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答疑栏目进行学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值