css3:linear-gradientcss
好比:黑色渐变到白色,代码以下:css3
.gradient{ 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%); background: linear-gradient(to bottom, #000000 0%,#ffffff 100%); }
说明:linear-gradient 具体用法点此进入。web
ie 滤镜:filterspa
linear-gradient 在 ie9 如下是不支持的,因此对于 ie6 - ie8 咱们能够使用滤镜来解决,代码以下:code
.gradient{ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=0 ); }
因为 filter 是 ie 的私有属性,因此咱们须要针对 ie9 单独处理滤镜效果,代码以下:orm
:root {filter:none;}
总结:blog
综上所述,线性渐变的兼容写法以下:get
.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%); background: linear-gradient(to bottom, #000000 0%,#ffffff 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=0 ); } :root .gradient{filter:none;}
PS:it
在实际的项目中,每每会碰到圆角和渐变的组合,若是使用上面的写法,那么在 ie9 下会有 bug(在 ie9 下背景色不能彻底切完),解决方法是SVG,具体点此查看。form