CSS3设置border某一边的颜色渐变

html-css010

CSS3设置border某一边的颜色渐变,第1张

如图所示,渐变的边框是一个 li 标签,要给他的 border-bottom 设置颜色渐变。

background-image 中的第一个 linear-gradient 是设置 li 标签的背景色的,

第二个 linear-gradient 配合 border-image 即可设置 border 的渐变色。

/*上下线性渐变(兼容IE10及以上)*/

background:-webkit-linear-gradient(#fff,#000)/*兼容webkit内核,比如Chrome*/

background:-moz-linear-gradient(#fff,#000)/*兼容老火狐浏览器*/

background:-o-linear-gradient(#fff,#000)/*兼容老欧朋Opera浏览器*/

background:linear-gradient(#fff,#000)/*适用于所有新版本浏览器*/

/*左右线性渐变(兼容IE10及以上,第一个值是left或right)*/

background:-webkit-linear-gradient(left,#fff,#000)/*兼容webkit内核,比如Chrome*/

background:-moz-linear-gradient(left,#fff,#000)/*兼容老火狐浏览器*/

background:-o-linear-gradient(left,#fff,#000)/*兼容老欧朋Opera浏览器*/

background:linear-gradient(left,#fff,#000)/*适用于所有新版本浏览器*/

/*兼容IE6-9渐变(只适用于线性渐变,参数enabled:true表示激活滤镜,false表示不激活;gradientType:0表示上下渐变,1表示左右渐变;startColorStr:起始渐变值,可以是#ffffff形式也可以是#ffffffff形式,此形式前两位表示透明度;endColorStr:结束渐变值,可以是#000000形式也可以是#ff000000形式,此形式前两位表示透明度。)*/

filter:progid:DXImageTransform.Microsoft.Gradient(enabled='true',gradientType=0,startColorStr='#ffffff',endColorStr='#000000')

/*径向渐变(兼容IE10及以上)*/

background:-webkit-radial-gradient(#f00,#0f0,#00f)/*兼容webkit内核,比如Chrome*/

background:-moz-radial-gradient(#f00,#0f0,#00f)/*兼容老火狐浏览器*/

background:-o-radial-gradient(#f00,#0f0,#00f)/*兼容老欧朋Opera浏览器*/

background:radial-gradient(#f00,#0f0,#00f)/*适用于所有新版本浏览器*/

在开发过程中遇到一个需求,要实现渐变色的背景之间的过渡切换,而css3的transition属性对于background-image不生效

想了很久之后,想到一个办法,利用两个div来设置不同的渐变的背景色,再通过改变div的透明度,实现渐变色之间的过渡,效果还不错

(图片被压缩了效果看起来没这么好,可以点击查看原图)