在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

CSS3之背景色渐变的更多相关文章

  1. css 背景色渐变---和背景色透明

    1 背景色渐变 background:#fb0000; background: -webkit-gradient(linear, left top, left bottom, color-stop(0 ...

  2. 透明、圆角、阴影效果、背景色渐变、<a></a>去外层虚线、!!!表格标签<table>

    表格标签 <table> 代表表格 width:指表格的宽度           一种是像素 (浏览器缩小的时候出现滚动条)           一种是百分比(跟着浏览器的大小而大小) b ...

  3. CSS3的线性渐变(linear-gradient)

    CSS3渐变(gradient)可分为线性渐变(linear-gradient)和径向渐变(radial-gradient).今天给大家说一说线性渐变. 以webkit内核浏览器为例, 语法: div ...

  4. 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  5. css中的背景色渐变以及背景图的定位

    单纯的背景色渐变: background: -webkit-gradient(linear, 0 0, 0 100%, color-stop(0, #fff), color-stop(1, #ddd) ...

  6. CSS3下的渐变文字效果实现

    如下,第一种方法已实践 一.方法一:借助mask-image属性 可以狠狠地点击这里:CSS3下的渐变文字效果方法一demo 如果您手头上的浏览器是Chrome或是Safari,则您可以在demo页面 ...

  7. CSS3透明背景+渐变样式

    CSS3透明背景+渐变样式 转载自博文:<CSS3透明背景+渐变样式> http://blog.csdn.net/netbug_nb/article/details/44343809 效果 ...

  8. css3背景颜色渐变属性 兼容性测试基础环境为:windows系统;IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+

    css3背景颜色渐变属性 兼容性测试基础环境为:windows系统:IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+ 语法: <li ...

  9. jquery animate()背景色渐变的处理

    jquery animate函数不能处理背景色渐变,需要使用jquery.color插件 gitHub地址:https://github.com/jquery/jquery-color/ 使用代码: ...

随机推荐

  1. hdu 1811 Rank of Tetris

    http://acm.hdu.edu.cn/showproblem.php?pid=1811 拓扑排序和并差集 #include <cstdio> #include <queue&g ...

  2. LeetCode_Wildcard Matching

    Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. ...

  3. LeetCode_Flatten Binary Tree to Linked List

    Given a binary tree, flatten it to a linked list in-place. For example, Given 1 / \ 2 5 / \ \ 3 4 6 ...

  4. Qt下HBoxLayout里的按钮有重叠

    没想到是一个bug,而且六年了都没有解决: https://bugreports.qt.io/browse/QTBUG-14591 http://stackoverflow.com/questions ...

  5. Qt try catch排错历程——C++的异常对除零不起作用

    前几天从网上下载了一份网友用Qt写的作品,打开时发现它是用VS2010写的,而我机器上只有VS2008,倒腾了半天最终没能用VS2008打开,而自己又不想再安装VS2010.还好在工程中有.pro文件 ...

  6. OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from...

    OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from... 编译的时候碰到一个常见的错误,但是却在一个陌生的地方爆 ...

  7. 做一个有理想的IT人

    前段时间一直以来都在思考生命的价值的问题,一直在想人的一生的追求是什么.在这个物欲横流的社会,对人的价值的定义只是在财富积累的多少,这个是大多数人所认为的.但人的一生顶多百年,百年之后这些虚荣划归为尘 ...

  8. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅲ

    2.4.3 堆的定义 数据结构二叉堆能够很好地实现优先队列的基本操作.在二叉堆的数组中,每个元素都要保证大于等于另两个特定位置的元素.相应地,这些位置的元素又至少要大于等于数组中的两个元素,以此类推. ...

  9. Unity 开发游戏Game分辨率设置

    最近自己开发小游戏,突然又被Game视图中设置分辨率被诱惑了, 我到底该怎么设置分辨率设置的图片才能让电脑和手机尺寸显示的大小一模一样呢? 然后又被手机尺寸和分辨率迷惑了! =.= 越搞越混   分辨 ...

  10. 【Oracle】逻辑结构(TableSpace→Segment→Extent→Block)

     一.逻辑体系结构图 二.逻辑结构图组成介绍 从上表能够看出,一个数据库是由多个表空间(tablespace)组成,一个表空间又由多个段(segment)组成,一个段又由多个区(extent)组成 ...