CSS3之背景色渐变

在css2时代,页面背景色渐变,按钮背景渐变效果主要是通过图片实现,css3中可通过 gradient 实现背景色渐变,图片作为一种资源,每次在页面加载时都要从服务器下载,这样如果页面很大需要渐变的效果很多的话,势必会造成网络堵塞,给页面加载造成压力,然而如果用css3的gradient写的话,在页面加载css文件时就会通过解析css代码实现渐变效果,就像解析css2代码一样。

但是美中不足的时,各浏览器虽然支持CSS3的gradient,却不能达成统一意见,完美的写法是在gradient前加上各浏览器的前缀,如-webkit-,-moz  -,IE8以上浏览器可通过IE自带的滤镜实现渐变功能。尽管如此,像低于IE8浏览器的这些古董,虽然已被世界范围内的市场淘汰,但作为中国的IT程序员,我们依然不能放弃,因为IE6,7还占据着中国的半壁江山,最后只能通过图片来实现。虽然这样会对编码的复杂度带来一些影响,但是对于完美支持css3的浏览器还是会带来全新的体验。                    
一. Webkit浏览器
      (1) 第一种写法:
            background:-webkit-gradient(linear ,10% 10%,100% 100%,color-stop(0.14,rgb(255,0,0)), color-stop(0.5,rgb(255,255,0)), color-stop(1,rgb(0,0,255)) );
             第一个参数:表示的是渐变的类型
      linear线性渐变
             第二个参数:分别对应x,y方向渐变的起始位置
             第三个参数:分别对应x,y方向渐变的终止位置
             第四/五/N个参数:设置渐变的位置及颜色
      (2)第二种写法:这种写法比较简单,而且效果比较自然
            background:-webkit-gradient(linear, 0 0, 0 100%, from(#2074af), to(#2c91d2));
             第一个参数:表示的是渐变的类型
             linear线性渐变
             第二个参数:分别对应x,y方向渐变的起始位置
             第三个参数:分别对应x,y方向渐变的终止位置
             第四个参数:设置了起始位置的颜色
             第五个参数:设置了终止位置的颜色


二.Mozilla浏览器
      (1)第一种写法:
           background:-moz-linear-gradient(10 10 90deg, rgb(25,0,0) 14%,    rgb(255,255,0) 50%,    rgb(0,0,255) 100%);
           第一个参数:设置渐变起始位置及角度
           第二/三/四/N个参数:设置渐变的颜色和位置
      (2)第二种写法:这种写法比较简单,而且效果比较自然
           background:-moz-linear-gradient(top, #FFC3C8,#FF9298);
           第一个参数:设置渐变的起始位置
           第二个参数:设置起始位置的颜色
           第三个参数:设置终止位置的颜色
三.IE 浏览器
     IE浏览器实现渐变只能使用IE自己的滤镜去实现
          IE9   filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffff,endColorstr=#9fffff,grandientType=1);

   IE8   -ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffff,endColorstr=#9fffff,grandientType=1);
          第一个参数:渐变起始位置的颜色
          第二个参数:渐变终止位置的颜色
          第三个参数:渐变的类型
          0 代表竖向渐变        1  代表横向渐变  
     P.S.这里设置背景的时候不需要给background设置,直接用filter即可,不要和其他的浏览器混淆

  gradient中除了线性渐变linear以外,还有一种径向渐变radial,但是径向渐变应用的地方很少,我在项目开发中到现在还没用过,关于gradient渐变,给大家推荐一个网站:http://www.w3cplus.com/content/css3-gradient

原文地址:https://www.cnblogs.com/huntaheart/p/3533519.html