(转)css 背景色渐变兼容写法

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

相关文章
相关标签/搜索