# 渐变样式

> phone | 2in1 | tablet | tv | wearable | lite_wearable

> 说明
>
> 从API version 4开始支持。后续版本如有新增内容，则采用上角标单独标记该内容的起始版本。

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

开发框架支持线性渐变（linear-gradient）和重复线性渐变（repeating-linear-gradient）两种渐变效果。

## 线性渐变/重复线性渐变

> phone | 2in1 | tablet | tv | wearable | lite_wearable

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

### 过渡方向

> phone | 2in1 | tablet | tv | wearable | lite_wearable

通过direction或者angle指定过渡方向。

* direction：指定方向进行渐变。

* angle：指定角度进行渐变。

```js
// xxx.js
background: linear-gradient(direction/angle, color, color, ...);
background: repeating-linear-gradient(direction/angle, color, color, ...);
```

### 过渡颜色

> phone | 2in1 | tablet | tv | wearable | lite_wearable

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

**参数：**

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

**示例：**

1. 默认渐变方向为从上向下渐变。

   ```css
   #gradient {
     height: 300px;
     width: 600px;
     /* 从顶部开始向底部由红色向绿色渐变 */
     background: linear-gradient(red, #00ff00);
   }
   ```

   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/41/v3/bJnbG8AbSMqdx5hVVn_hgA/zh-cn_image_0000002765134084.png?HW-CC-KV=V1&HW-CC-Date=20261015T104607Z&HW-CC-Expire=31536000000&HW-CC-Sign=19A37A317D9200BB2EA1DD47AC75D18A965E7DE1222B3CAA8E7A00777EDFF666)
2. 45度夹角渐变。

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

   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f9/v3/nZBg-6YlTreDny9Lz7jaTQ/zh-cn_image_0000002794492659.png?HW-CC-KV=V1&HW-CC-Date=20261015T104607Z&HW-CC-Expire=31536000000&HW-CC-Sign=980627850BCB198DC66DFD116F38CD5754BC3A2C664C30DB73EF603D3AA4DC94)
3. 设置方向从左向右渐变。

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

   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/62/v3/1C-bO3hNQ7OkQ-5gCzVcDA/zh-cn_image_0000002794412881.png?HW-CC-KV=V1&HW-CC-Date=20261015T104607Z&HW-CC-Expire=31536000000&HW-CC-Sign=28D38919166AE37B7EAE378EE9C1623AE3505292CC693447922B2866330EBE38)
4. 重复渐变。

   ```css
   /* 从左向右重复渐变，重复渐变区域30px（60-30）透明度0.5 */
   background: repeating-linear-gradient(to right, rgba(255, 255, 0, 1) 30px,rgba(0, 0, 255, .5) 60px);
   ```

   ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/18/v3/tjlBf8-9R9iIX-WX2x8Auw/zh-cn_image_0000002764974162.png?HW-CC-KV=V1&HW-CC-Date=20261015T104607Z&HW-CC-Expire=31536000000&HW-CC-Sign=769A8480260FBB5E9F364D4A29AD1F6A9586ECB1364E3917BE14199D60683D35)

