js-components-common-gradient.md 2.9 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4
# 渐变样式

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 从API version 4开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
Z
zengyawen 已提交
5 6 7 8

组件普遍支持的在style或css中设置的 可以平稳过渡两个或多个指定的颜色。


Z
zengyawen 已提交
9 10 11 12
开发框架支持线性渐变 (linear-gradient)和重复线性渐变 (repeating-linear-gradient)两种渐变效果。


## 线性渐变/重复线性渐变
Z
zengyawen 已提交
13 14 15

使用渐变样式,需要定义过渡方向和过渡颜色。

Z
zengyawen 已提交
16 17

### 过渡方向
Z
zengyawen 已提交
18

Z
zengyawen 已提交
19
通过direction或者angle指定过渡方向。
Z
zengyawen 已提交
20
- direction:进行方向渐变。
Z
zengyawen 已提交
21

Z
zengyawen 已提交
22
- angle:进行角度渐变。
Z
zengyawen 已提交
23 24 25 26 27

```
background: linear-gradient(direction/angle, color, color, ...);
background: repeating-linear-gradient(direction/angle, color, color, ...);
```
Z
zengyawen 已提交
28

Z
zengyawen 已提交
29

Z
zengyawen 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
### 过渡颜色

支持以下四种方式:\#ff0000、\#ffff0000、rgb(255, 0, 0)、rgba(255, 0, 0, 1),需要指定至少两种颜色。

- 参数
  | 名称 | 类型 | 默认值 | 必填 | 描述 |
  | -------- | -------- | -------- | -------- | -------- |
  | direction | to&nbsp;&lt;side-or-corner&gt;&nbsp;&nbsp;&lt;side-or-corner&gt;&nbsp;=&nbsp;[left&nbsp;\|&nbsp;right]&nbsp;\|\|&nbsp;[top&nbsp;\|&nbsp;bottom] | to&nbsp;bottom&nbsp;(由上到下渐变) | 否 | 指定过渡方向,如:to&nbsp;left&nbsp;(从右向左渐变)&nbsp;&nbsp;;或者<br/>to&nbsp;bottom&nbsp;right&nbsp;(从左上角到右下角)。 |
  | angle | &lt;deg&gt; | 180deg | 否 | 指定过渡方向,以元素几何中心为坐标原点,水平方向为X轴,angle指定了渐变线与Y轴的夹角(顺时针方向)。 |
  | color | &lt;color&gt;&nbsp;[&lt;length&gt;\|&lt;percentage&gt;] | - | 是 | 定义使用渐变样式区域内颜色的渐变效果。 |

- 示例
  1. 默认渐变方向为从上向下渐变
  ```
  #gradient {
    height: 300px;
    width: 600px;
    /* 从顶部开始向底部由红色向绿色渐变 */
    background: linear-gradient(red, #00ff00);
  }
  ```

  ![zh-cn_image_0000001190934502](figures/zh-cn_image_0000001190934502.png)

  2. 45度夹角渐变

  ```
    /* 45度夹角,从红色渐变到绿色 */
    background: linear-gradient(45deg, rgb(255,0,0),rgb(0, 255, 0));
  ```

  ![zh-cn_image_0000001189854534](figures/zh-cn_image_0000001189854534.png)

  3. 设置方向从左向右渐变

  ```
  /* 从左向右渐变,在距离左边90px和距离左边360px (600*0.6) 之间270px宽度形成渐变 */
  background: linear-gradient(to right, rgb(255,0,0) 90px, rgb(0, 255, 0) 60%);
  ```

  ![zh-cn_image_0000001236694521](figures/zh-cn_image_0000001236694521.png)

  4. 重复渐变

  ```
  /* 从左向右重复渐变,重复渐变区域30px(60-30)透明度0.5 */
  background: repeating-linear-gradient(to right, rgba(255, 255, 0, 1) 30px,rgba(0, 0, 255, .5) 60px);
  ```
Z
zengyawen 已提交
78

Z
zengyawen 已提交
79
  ![zh-cn_image_0000001237134475](figures/zh-cn_image_0000001237134475.png)