渐变

浏览器支持两种类型的渐变:线性渐变 (linear),通过linear-gradient 函数定义,以及 径向渐变 (radial),通过radial-gradient函数定义.

一、线性渐变
语法:

 linear-gradient([[[<angle>|to[top|bottom]||[left|right]],]?<color-stop>[,<color-stop>]+);

linear-gradient(渐变线起点位置或使用角度确定渐变线、开始颜色、[中间多个颜色[及位置]]、结束颜色);

所以可以用两种方式确定渐变线:

  1. 渐变线起点位置,可以使用 top, bottom, left, right, top right, top left, bottom left 或 bottom right 其中一个。
 background: linear-gradient(to top, red, yellow, blue);
渐变线起点位置使用 `to top`
background: linear-gradient(to bottom right, red 25%, white 50%, yellow 75%, blue);
渐变线起点位置为 `to bottom right`

其中red 25%颜色后面的百分数是色标,表示该位置是该颜色的停靠点。

色标
渐近线的颜色停止点在该位置有特定的颜色。该位置可以被指定为线长度的百分比或一个绝对长度。为实现期望的效果,可以指定任意多个颜色停止点。
如果指定位置使用百分比,那么 0% 表示起点,100% 表示终点。然而,如果有需要,也可以使用范围之外的值。

  1. 使用角度

角度是指渐变线与水平线之间的角度,以顺时针方向旋转。

注意: 几个浏览器实现前缀,在旧稿的规格中 0deg 是指右部而不是顶部。当是混合前缀和标准线性渐变时要特别注意角度的值。一个简单的公式:90 - x = y,x 是标准用法,而 y是非标准,浏览器引擎前缀用法。

使用浏览器引擎前缀时,角度是以逆时针方向旋转。

标准用法
 background: linear-gradient(0deg, red, yellow, blue);


-webkit-浏览器引擎前缀用法
 background: -webkit-linear-gradient(0deg, red, yellow, blue);
标准用法:0deg 指向顶部
浏览器引擎前缀用法:0deg 指向右部

下面是标准用法下的几个例子(其中红色表示水平线,蓝色表示渐变线):

    #test1 {
      background: linear-gradient(30deg, red, yellow, blue);
    }
    #test2 {
      background: linear-gradient(90deg, red, yellow, blue);
    }
    #test3 {
      background: linear-gradient(-90deg, red, yellow, blue);
    }
test1:30deg
test2: 90deg
test3:-90deg

透明和渐变
渐变是支持透明度的,具体查看使用css渐变

background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,1)), url(http://foo.com/image.jpg);

二、径向渐变
语法:

radial-gradient([径向渐变的圆心位置],[渐变的形状],[渐变的大小],开始颜色,[中间颜色],结束颜色);

圆心位置:默认为中心点(center),值可以为长度值、百分比、关键字(top,...)。
形状:默认为椭圆,值可以为 circle, elipse 。
大小:值可以为长度值、百分比、关键字(closest-side, closest-corner, 默认值 farthest-corner)。

更多效果请看在线实例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • -webkit-linear-gradient线形渐变详解 CSS3发布很久了,现在在国外的一些页面上常能看到他的...
    魏魏魏_1500阅读 15,683评论 0 3
  • CSS边框属性 元素的边框就是围绕元素内容和内边距的一条或多条线。 元素的边框属性: border 简写属性,用...
    Zd_silent阅读 4,587评论 0 1
  • 简介 - Introduction 渐变在网站中常常用到:如果你想使得(按钮,标题等)有生气,就可以使用渐变。虽然...
    花括弧阅读 4,481评论 0 0
  • 登陆阿里大于短信平台。支付宝等产品都是用这个平台,稳定性很好。 申请配置信息 下载nodejs的sdk 下载nod...
    3feeb4458361阅读 1,722评论 0 0
  • 何为,情爱? 原以为这岁月会生成情意 却不知这情意因岁月 而生成了嫌隙 怎奈身无彩凤双飞翼 心无灵犀不可通啊 何为...
    Hooni阅读 3,690评论 0 0