css3中“渐变”兼容性解决方案

417人浏览   2023-10-23 15:12:52


这次是简单的谈一下我们常见的渐变在各个浏览器下的兼容性问题,算一个比较简单的问题。

我们熟知的浏览器有Chrome、Firefox、Opera、Safari以及ie系列。最基础的background:#cccccc属性表示页面呈现#cccccc色,当然这个在任何浏览器下面都是满足的。但是随着我们对颜色要求的提高,引入了渐变linear-gradient,不同的浏览器对于它的认知需要加不同的前缀。通过上面的例子我们可以知道firefox:-moz-、
chrome/safari/opera:-webkit-、ie:-ms-、当然ie很多版本都不接受,于是可以采取滤镜的方式处理。


重点说明一下ie的滤镜效果:

filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#ffffff,endcolorstr=#000000,gradientType=0);

-ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#ffffff,endcolorstr=#000000,gradientType=0);

style=0:统一形状;style=1:线性;style=2:放射状;style=3:矩形;


startx/starty/finishx/finishy:起始和终点的坐标;

gradient=1:横向渐变;gradient=0:纵向渐变。

-webkit-linear-gradient(top,#ffffff,#000000);

linear:渐变类型

top:起始点

#ffffff:起始颜色

#000000:终点颜色

支持浏览器:Webkit(-webkit-),Gecko(-moz-),presto(-o-),Trident(-ms-)

方向:

上文中'top'为起始点,同时也蕴含'to bottom'

<angle>:0deg表示方向从左到右,90deg表示方向从下向上。可用负值表示,与正值相反方向。

top类:给予起始方向便可。两个方向的只要加上两方向属性,如left top。

ps:其他的不满足这些变化的浏览器还是比较少的。对于这种情况可以采取定义一个适合的过度色用最基本的background:#red之类的表示。

——lankongclub

相关推荐