详解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 相关文章推荐
浅析两列自适应布局的3种思路
May 03 HTML / CSS
css3图片边框border-image的用法
Jun 30 HTML / CSS
CSS3动画效果回调处理详解
Dec 10 HTML / CSS
CSS3使用border-radius属性制作圆角
Dec 22 HTML / CSS
CSS3制作彩色进度条样式的代码示例分享
Jun 23 HTML / CSS
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
Jan 27 HTML / CSS
HTML5之多线程(Web Worker)
Jan 02 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
Jan 02 HTML / CSS
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
Jan 09 HTML / CSS
HTML5+CSS3绘制锯齿状的矩形
Mar 01 HTML / CSS
html5清空画布方法(三种)
Oct 16 HTML / CSS
CSS3 制作的悬停缩放特效
Apr 13 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
投票管理程序
2006/10/09 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
PHP使用递归生成文章树
2015/04/21 PHP
php无限级分类实现方法分析
2016/10/19 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
python list元素为tuple时的排序方法
2018/04/18 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
html5使用canvas画三角形
2014/12/15 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
公司领导推荐信
2013/11/12 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
端午节活动总结
2014/08/26 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书