你的位置:首页 > 网页设计

[网页设计]关于css3的背景渐变


关于css3的渐变,目前各大浏览器还未做到很好的支持,所以需要在我们使用时加上各大浏览器前缀。

-moz-:使用Mozilla内核的浏览器(Firefox浏览器)

-webkit-:使用Webkit内核的浏览器(Chrome,Safari浏览器)

-o-:使用Opera内核的浏览器(Opera浏览器)

这里对IE不做过多介绍,对于本文背景颜色的渐变,也没有考虑IE

一。线性渐变(linear-gradient)

1.语法:-moz-linear-gradient(<point>/<angle>,<color-stop>,<color-stop>……)

参数:第一个参数便是线性渐变的方向

    top:从上到下;

    left:从左到右;

    right:从右到左;

    bottom:从下到上;

    也可以两两组合,例如从左上:left top,从右上:right top等等,这里就不过多介绍了;

    angle代表角度(一直认为涉及到角度一个平面直角坐标系足够直观)。

  第二个参数和第三个参数分别是起点和终点的颜色,还可以再他们之间插入更多的参数,表示多种颜色的渐变,颜色支持使用16进制数值表示,也可以使用rgb(a)数值

  例:background:-moz-linear-gradient(top,#000,#fff);  

    注:表示从#000到#fff的渐变

    background:-moz-linear-gradient(45deg,#000 50%,#555 50%,#555);

    注:表示0-50%是#000,50%-100%是#555

2.语法:-webkit-linear-gradient(<point>/<angle>,<color-stop>,<color-stop>……)  【新式语法书写规则】

    -webkit-gradient(<type>,<start point>/<angle>,<end point>/<angle>,<color-stop>,<color-stop>……) 【老式语法书写规则】

    新式语法书写规则与其他相同这里不过多介绍,下面介绍一下老式语法规则:

参数:第一个参数表示渐变类型,可以是linear(线性)或者radial(径向);

  第二个参数和第三个参数表示渐变的起点和终点,可以是坐标或关键值;

  第四个和第五个参数分别表示起点和终点的颜色,还可以再他们之间插入更多的参数,表示多种颜色的渐变,颜色支持使用16进制数值表示,也可以使用rgb(a)数值。

  例:background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#000));

  注:表示从上到下,从#fff到#000的渐变

  background:-webkit-gradient(linear,0 0,100% 100%,color-stop(.5,rgb(255,255,255)),color-stop(.5,rgba(0,0,0,.2)));

  注:表示从左上到右下0-50%是白色,50%-100%是透明度为0.2的黑色

3.语法:-o-linear-gradient(<point>/<angle>,<color-stop>,<color-stop>……)

  例:background:-moz-linear-gradient(top,#000,#fff);  

    注:表示从#000到#fff的渐变

二。径向渐变(radial-gradient)

语法:-moz-radial-gradient(<point>/<angle>,<shape>/<size>,<color-stop>,<color-stop>……);

  -webkit-radial-gradient(<point>/<angle>,<shape>/<size>,<color-stop>,<color-stop>……);

oprea浏览器对径向渐变的支持还不太好,所以在这里不介绍。除了在线性渐变中看到的其实位置,方向和颜色,径向渐变允许指定渐变的形状:圆形(circle)和椭圆形(ellipse)和大小:最近端(closest-side),最近角(closest-corner),最远端(farthest-side),最远角(farthest-corner),包含(contain),覆盖(cover)。对于这几个大小的设置有的差距甚微,有些迷惑。

例:background:radial-gradient(#fff, #000);

  background: -webkit-radial-gradient(#fff, #000);

  注:表示从白到黑的圆形渐变

  background: -moz-radial-gradient(80% 20%, closest-corner, #fff, #000);

  background: -webkit-radial-gradient(80% 20%, closest-corner, #fff, #000);

  注:表示在80% 20%的位置有白色圆到黑色的渐变

2.css的重复渐变

语法:-moz-repeating-linear-gradient(<point>/<angle>,<color-stop>,<color-stop>……);

  -webkit-repeating-linear-gradient(<point>/<angle>,<color-stop>,<color-stop>……);

  -o-repeating-linear-gradient(<point>/<angle>,<color-stop>,<color-stop>……);

  -moz-radial-gradient(<point>/<angle>,<shape>/<size>,<color-stop>,<color-stop>……);

  -webkit-radial-gradient(<point>/<angle>,<shape>/<size>,<color-stop>,<color-stop>……);

例:background: -moz-repeating-radial-gradient(#fff, #000 5px, #000 5px, #000 10px);

  background: -webkit-repeating-radial-gradient(#fff, #000 5px, #000 5px, #fff 10px);

  注:表示一圈一圈的黑白圆圈(不要太晕哦)

本文摘自大漠的博客http://www.w3cplus.com/content/css3-gradient