CSS3 linear-gradient() 函数

以下实例演示了从头部开始的线性渐变,从红色开始,转为黄色,再到蓝色:

#grad {
  background-image: linear-gradient(red, yellow, blue);
}

浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。

属性chromeedgefirefoxsafariopera
linear-gradient()26.0
10.0 -webkit-
10.016.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.1 -o-

linear-gradient() 函数用于创建一个表示两种或多种颜色线性渐变的图片。

创建一个线性渐变,需要指定两种颜色,还可以实现不同方向(指定为一个角度)的渐变效果,如果不指定方向,默认从上到下渐变。

语法

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

属性值

描述
direction用角度值指定渐变的方向(或角度)。
color-stop1, color-stop2,...用于指定渐变的起止颜色。

实例

<style>
.demo-linear-gradient-1 {
    height: 100px;
    background-color: red; /* 不支持线性的时候显示 */
    background-image: linear-gradient(to right, red , yellow);
}
.demo-linear-gradient-2 {
    height: 100px;
    background-color: red; /* 不支持线性的时候显示 */
    background-image: linear-gradient(to bottom right, red , yellow);
}
.demo-linear-gradient-3 {
    height: 100px;
    background-color: red; /* 不支持线性的时候显示 */
    background-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet); /* 标准的语法(必须放在最后) */
}
.demo-linear-gradient-4 {
    height: 100px;
    background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
}
#grad1 {
  height: 100px;
  background-color: red; /* 浏览器不支持的时候显示 */
  background-image: linear-gradient(0deg, red, yellow); 
}

#grad2 {
  height: 100px;
  background-color: red; /* 浏览器不支持的时候显示 */
  background-image: linear-gradient(90deg, red, yellow); 
}

#grad3 {
  height: 100px;
  background-color: red; /* 浏览器不支持的时候显示 */
  background-image: linear-gradient(180deg, red, yellow); 
}

#grad4 {
  height: 100px;
  background-color: red; /* 浏览器不支持的时候显示 */
  background-image: linear-gradient(-90deg, red, yellow); 
}
</style>

<p class="demo-linear-gradient-1">从左边开始的线性渐变。起点是红色,慢慢过渡到黄色:</p>

<p class="demo-linear-gradient-2">从左上角开始(到右下角)的线性渐变。起点是红色,慢慢过渡到黄色:</p>

<p class="demo-linear-gradient-3">渐变背景</p>

<p class="demo-linear-gradient-4">为了添加透明度,我们使用 rgba() 函数来定义颜色结点。rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。</p>

线性渐变 - 使用不同的角度

<div id="grad1" style="text-align:center;">0deg</div><br>
<div id="grad2" style="text-align:center;">90deg</div><br>
<div id="grad3" style="text-align:center;">180deg</div><br>
<div id="grad4" style="text-align:center;">-90deg</div>

效果:

从左边开始的线性渐变。起点是红色,慢慢过渡到黄色:

从左上角开始(到右下角)的线性渐变。起点是红色,慢慢过渡到黄色:

渐变背景

为了添加透明度,我们使用 rgba() 函数来定义颜色结点。rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。

线性渐变 - 使用不同的角度

0deg

90deg

180deg

-90deg