CSS3 中渐变分为:

  线性渐变(linear-gradient)径向渐变(radial-gradient)两种。

1. 线性渐变

  参数:

   <linear-gradient> = linear-gradient( [<position>,] [<angle>,] <color-stop>[,<color-stop>]+ ); 

  设置线性渐变,我们至少要一个position或者angle来表示我们渐变的防线,同时还要设置两个颜色节点表示起始和终止。

1.1 position 的值有如下选择:
a)     [top | bottom] || [left | right]
b)     <length> [ <length> ]
c)     <length> '/' <length> <length> '/' <length>

  a) 表示简单的 从上到下、从下向上、从左往右、从右至左 的渐变方向

    示例1(case a):

background: linear-gradient(to bottom, #000, #FFF);
background: -webkit-linear-gradient(top, #000, #FFF);
background: -o-linear-gradient(top, #000, #FFF);
background: -moz-linear-gradient(top, #000, #FFF);

  b) 表示在容器中 横向位置渐变的起始位置 和 纵向位置渐变的起始位置(测试完发现只有火狐支持),

background: -moz-linear-gradient(10px 10px, #000, #FFF);

  c) 表示在 b) 的基础上,横向和纵向的偏移距离(发现均不支持)。

  总结:

  上面三种写法经过测试后,发现只有 a 普遍支持,因而建议直接使用 top|left|bottom|right 这样的写法。

 1.2 使用角度 angle:

  角度是指从水平位置起,逆时针角度方向进行渐变。

.gradient-30deg{
    background: linear-gradient(30deg, #000, #FFF);
    background: -webkit-linear-gradient(30deg, #000, #FFF);
    background: -o-linear-gradient(30deg, #000, #FFF);
    background: -moz-linear-gradient(30deg, #000, #FFF);
}

1.3 使用 color stop

  gradient 属性还可以通过 color stop 这一属性,让一个元素进行多次渐进变化。

  可以通过百分比的形式进行每个渐变色节点的设置,或者不进行设置让浏览器去通过个数平均分配,如:

background: -moz-linear-gradient(left, #ace, #f96, #ace);
background: -webkit-gradient(linear, left top, right top, from(#ace), color-stop(0.5, #f96), to(#ace));
background: -webkit-linear-gradient(left, #ace, #f96, #ace);
background: -o-linear-gradient(left, #ace, #f96, #ace);

2. 径向渐变

  参数:

 -moz-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);
 -webkit-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);

  bg-position(背景位置) 一个 坐标

  angle(角度) 一个或多个

  shape(形状)一个  圆形或椭圆形 ellipse circle

  size(尺寸) 一个或多个 最近端,最近角,最远端,最远角,包含或覆盖 (closest-side, closest-corner, farthest-side, farthest-corner, contain or cover)

  示例一,只设置颜色

.radial-grad{
    background: radial-gradient(#F00, #0F0, #00F);
    background: -webkit-radial-gradient(#F00, #0F0, #00F);
    background: -o-radial-gradient(#F00, #0F0, #00F);
    background: -moz-radial-gradient(#F00, #0F0, #00F);
}

  通过示例一我们可以发现,默认情况下shape是使用的椭圆

示例二,设置形状

  

.radial-grad-cir{
    background: radial-gradient(circle, #F00, #0F0, #00F);
    background: -webkit-radial-gradient(circle, #F00, #0F0, #00F);
    background: -o-radial-gradient(circle, #F00, #0F0, #00F);
    background: -moz-radial-gradient(circle, #F00, #0F0, #00F);
}

  通过示例可以看到,如果容器不为正方形,设置为圆形会出现显示缺角的情况,这点在实际使用时需要注意。

  示例三,设置尺寸 size

  需要设置圆心位置 这里设置为 30% 30%。

.radial-grad-closest-slide{
    background: radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
    background: -webkit-radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
    background: -o-radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
    background: -moz-radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
}

  示例四,设置repeating

  

.radial-repeat{
    background: -webkit-repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
      background: -o-repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
      background: -moz-repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
    background: repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
}

注意的是要通过设置比例的形式来进行规定重复次数。

CSS 3 属性学习 —— 1. Gradient 渐变的更多相关文章

  1. CSS 3 属性学习大纲

    1. Gradient 渐变 2. RGBA 颜色透明 3. Border-radius 圆角 4. text-shadow 文字阴影 5. box-shadow 图层阴影 6. Transform ...

  2. CSS display属性学习

    ---恢复内容开始--- http://www.w3school.com.cn/cssref/pr_class_display.asp 所有主流浏览器都支持 display 属性,如IE,Firefo ...

  3. CSS 3 属性学习 —— 2. RGBA

    RGBA 是 CSS3 中用来控制颜色的单位,分别是 Red Green Blue 三原色和 Alpha 透明度的缩写. 也就是说该属性可以帮助我们在设置颜色的同时,也设置了其透明度. 其实就是 RG ...

  4. css属性学习

    CSS display 属性 display 属性规定元素应该生成的框的类型. none:此元素不会被显示. block:此元素将显示为块级元素,此元素前后会带有换行符. inline默认.此元素会被 ...

  5. css的基本操作学习--css样式,选择器,hover,文字属性,文本属性,背景

    什么是css? 通配符选择器 <head> /* *通配符选择器 匹配任何元素 */ *{ margin: 0; padding: 0; } </head> css样式有三种 ...

  6. #学习记录#——CSS content 属性

    CSS content 属性常结合:before 和:after 这两个伪类一起使用,给指定的元素添加内容来丰富页面. 1. 添加文本内容 html: <h1>给末尾添加内容. </ ...

  7. 1+x证书学习日志——css常用属性

     ## css常用属性:             1:文本属性:                 文本大小:  font-size:18px;                 文本颜色    colo ...

  8. css之属性部分

    这篇写的是今天的学习到的属性,一共20个. 属性再多,但也要会使用,会在使用时可以记起它,才能起到它为我们所需要的作用. 样式属性 1.border CSS边框属性允许你指定一个元素边框的样式和颜色. ...

  9. 原生 CSS 网格布局学习笔记

    下是来自Oliver Williams的帖子. Oliver已经学习了相当长时间的原生CSS网格,可以说是在CSS网格方面有一定的发言权.在这篇文章中,他将以非同寻常的思路分析自己的CSS网格布局学习 ...

随机推荐

  1. 垃圾回收器 Dispose 和 Finalize 的互补作用

    假如我们程序有两个窗口 Form1.Form2; 当我们关闭一个窗口的时候,会发出一个 终止响应,并将该窗口对象送入终止队列,公共语言运行库的垃圾回收器跟踪着这个对象的生存期,此时就会调用此对象的基类 ...

  2. TCP/IP详解之:SNMP

    基于TCP/IP的网络管理包含3个组成部分: 一个管理信息库MIB:MIB包含所有代理进程的所有可被查询和修改的参数 关于MIB的一套公用的结构和表示符号,即SMI(管理信息结构) 管理进程和代理进程 ...

  3. CDZSC_2015寒假新人(1)——基础 c

    Description FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the wareho ...

  4. AspectJ截获操作

    package com.example.aspectjandroidtest; import java.io.BufferedOutputStream; import java.io.ByteArra ...

  5. Unix环境下PS1变量的设置

    我的ps1命令提示符: export PS1="\[\e[31;1m\]\u @ \[\e[34;1m\]\h \[\e[36;1m\]\w \[\e[33;1m\]\t $ \[\e[37 ...

  6. python运维开发(七)----面向对象(上)

    内容目录: 面向对象应用场景 类和对象的创建 类中的__init__构造方法 self理解 面向对象的三大特性:封装.继承.多态 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装 ...

  7. python用法——Mixin

    在读werkzeug和flask的源码中,经常能遇到类名中有mixin这个东西.这个东西的用法让我想到了java中的接口名有able的用法.今天我就来看了看这个mixin是什么东西. 学习了pytho ...

  8. git 的一些使用和命令

    http://git.oschina.net/progit/2-Git-%E5%9F%BA%E7%A1%80.html(pro git)   git branch  (展示本地当前的所有分支,以及当前 ...

  9. js监听和观察者模式

    http://redhacker.iteye.com/blog/1756436 https://developer.mozilla.org/en-US/docs/Web/Guide http://ww ...

  10. logcat错误日志

    http://www.crifan.com/android_log_to_file/ http://www.iteye.com/problems/85431 http://www.cnblogs.co ...