详解CSS3中使用gradient实现渐变效果的方法


Posted in HTML / CSS onAugust 18, 2015

CSS3 Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变)。
线性渐变在Webkit下的应用

CSS Code复制内容到剪贴板
  1. -webkit-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )//最新发布书写语法  

    第一个参数表示渐变类型(type),可以是linear(线性渐变)或者radial(径向渐变)。
    第二个参数和第三个参数,都是一对值,分别表示渐变起点和终点。这对值可以用坐标形式表示,也可以用关键值表示,比如 left
    top(左上角)和left bottom(左下角)。
    第四个和第五个参数,分别是两个color-stop函数。color-stop函数接受两个参数,第一个表示渐变的位置,0为起点,0.5为中点,1为结束点;第二个表示该点的颜色。

线性渐变在Mozilla下的应用

语法:

CSS Code复制内容到剪贴板
  1. -moz-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )  

参数:

    其共有三个参数,第一个参数表示线性渐变的方向,top是从上到下、left是从左到右,如果定义成left
    top,那就是从左上角到右下角。第二个和第三个参数分别是起点颜色和终点颜色。你还可以在它们之间插入更多的参数,表示多种颜色的渐变。

css3中实现了背景渐变

CSS Code复制内容到剪贴板
  1. <gradient> = [   
  2.     <linear-gradient> | <radial-gradient> |   
  3.     <repeating-linear-gradient> | <repeating-radial-gradient> ]  

一:线性渐变  

 在CSS3中,可以使用 linear-gradient实现背景线性渐变。

CSS Code复制内容到剪贴板
  1. <linear-gradient> = linear-gradient(  [ [ <angle> | to <side-or-corner> ] ,]?   <color-stop>[, <color-stop>]+ )  <side-or-corner> = [left | rightright] || [top | bottombottom]  

在ff浏览器时需要将样式代码书写成"-moz-linear-gradient",chrome浏览器时需要写成"-webkit-linear-gradient"的形式。
详解CSS3中使用gradient实现渐变效果的方法

 这里颜色值也可以分好多段,如

CSS Code复制内容到剪贴板
  1. background-image: linear-gradient(top#eff6fb#d3e4f3 68%);  

详解CSS3中使用gradient实现渐变效果的方法

CSS Code复制内容到剪贴板
  1. background-image: linear-gradient( left#FF0000#FFA500 13.0%,#FFFF00 26.0%,#0000FF 39.0%,#008000 52.0%,#4B0082 65.0%,#EE82EE 78.0%)  

显示效果:
详解CSS3中使用gradient实现渐变效果的方法

渐变方向也指定关键字。

CSS Code复制内容到剪贴板
  1. background-image: linear-gradient(top left#eff6fb 10%, #d3e4f3 68%);  

效果:
详解CSS3中使用gradient实现渐变效果的方法

渐变方向也可以指定角度。

CSS Code复制内容到剪贴板
  1. background-image: linear-gradient(0deg, #eff6fb 10%, #d3e4f3 68%);  

0deg渐变开始在左侧,90deg的底部,180deg在右侧,270deg在顶部。因此,我们可以认为角度作为反??时针顺序。
如:
详解CSS3中使用gradient实现渐变效果的方法

透明度(Transparency):还支持透明渐变。这是相当有用的,例如,当堆叠多个背景时。这里是两个背景的结合:一张图片,一个白色到透明的线性渐变。

二:径向渐变

径向渐变类似于线性渐变

CSS Code复制内容到剪贴板
  1. <radial-gradient> = radial-gradient(   [ [ <shape> || <size> ] [ at <position> ]? , |     at <position>,    ]?   <color-stop> [ , <color-stop> ]+ )  

1.颜色
直接定义颜色渐变。background: -moz-radial-gradient(red, yellow, #1E90FF);

效果如图:
详解CSS3中使用gradient实现渐变效果的方法

指定位置颜色的渐变:background: -moz-radial-gradient(red 5%, yellow 25%, #1E90FF 50%);
效果如果:
详解CSS3中使用gradient实现渐变效果的方法

2.形状
起始位置一样,形状不一样。

CSS Code复制内容到剪贴板
  1. background-image: -moz-radial-gradient(bottombottom left,circle,redyellow#1E90FF);   
  2. background-image: -moz-radial-gradient(bottombottom left,ellipse,redyellow#1E90FF);  

效果如图:
详解CSS3中使用gradient实现渐变效果的方法

3.大小(Size):size的不同选项(closest-side, closest-corner, farthest-side, farthest-corner, contain or cover)指向被用来定义圆或椭圆大小的点。

三:重复渐变(Repeating Gradients)
重复一个渐变,可以使用-moz-repeating-linear-gradient和-moz-repeating-radial-gradient。

CSS Code复制内容到剪贴板
  1. .repeating_radial_gradient_example {       
  2. background: -moz-repeating-radial-gradient(blackblack 5pxwhite 5pxwhite 10px); }    
  3. .repeating_linear_gradient_example {      
  4.   background: -moz-repeating-linear-gradient(top left -45deg, redred 5pxwhite 5pxwhite 10px); }  

HTML / CSS 相关文章推荐
利用HTML5画出一个坦克的形状具体实现代码
Jun 20 HTML / CSS
HTML5的表单(绝对特别强大的功能)使用示例
Jun 20 HTML / CSS
很酷的HTML5电子书翻页动画特效
Feb 25 HTML / CSS
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
Dec 15 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
Dec 16 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
Nov 02 HTML / CSS
详解H5 活动页之移动端 REM 布局适配方法
Dec 07 HTML / CSS
HTML5离线应用与客户端存储的实现
May 03 HTML / CSS
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
Apr 08 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
Jun 23 HTML / CSS
AmazeUI 点击元素显示全屏的实现
Aug 25 HTML / CSS
利用Node实现HTML5离线存储的方法
Oct 16 HTML / CSS
全方位了解CSS3的Regions扩展
Aug 07 #HTML / CSS
CSS3中Animation属性的使用详解
Aug 06 #HTML / CSS
利用CSS3的transition属性实现滑动效果
Aug 05 #HTML / CSS
详解CSS3中@media的实际使用
Aug 04 #HTML / CSS
CSS3的RGBA中关于整数和百分比值的转换
Aug 04 #HTML / CSS
CSS3中使用RGBA设置透明度的示例
Aug 04 #HTML / CSS
详解CSS中iconfont的使用
Aug 04 #HTML / CSS
You might like
Email+URL的判断和自动转换函数
2006/10/09 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
PHP最常用的正则表达式
2017/02/13 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
Python使用py2exe打包程序介绍
2014/11/20 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python调用c++传递数组的实例
2019/02/13 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
python Gabor滤波器讲解
2020/10/26 Python
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
十一个高级MySql面试题
2014/10/06 面试题
英语教师岗位职责
2014/03/16 职场文书
党的群众路线教育实践活动总结大会主持词
2014/10/30 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
浅析MySQL如何实现事务隔离
2021/06/26 MySQL
java设计模式--三种工厂模式详解
2021/07/21 Java/Android