目录

CSS 渐变


渐变背景

CSS 渐变可让您显示两个或多个指定颜色之间的平滑过渡。

CSS 定义了三种类型的渐变:

  • 线性渐变(向下/向上/向左/向右/对角线)
  • 径向渐变(由中心定义)
  • 圆锥渐变(围绕中心点旋转)

CSS 线性渐变

要创建线性渐变,您必须定义至少两个色标。色标是您想要在其中呈现平滑过渡的颜色。您还可以设置起点和方向(或角度)以及渐变效果。

语法

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

方向 - 从上到下(这是默认值)

以下示例显示了从顶部开始的线性渐变。它从红色开始,逐渐变为黄色:

从上到下(默认)

示例

#grad {
  background-image: linear-gradient(red, yellow);
}
亲自试一试 »

方向 - 从左到右

以下示例显示了从左侧开始的线性渐变。它从红色开始,逐渐变为黄色:

左到右

示例

#grad {
  background-image: linear-gradient(to right, red , yellow);
}
亲自试一试 »

方向 - 对角线

您可以通过指定水平和垂直起始位置来制作对角渐变。

以下示例显示了从左上角开始(到右下角)的线性渐变。它从红色开始,逐渐变为黄色:

从左上到右下

示例

#grad {
  background-image: linear-gradient(to bottom right, red, yellow);
}
亲自试一试 »


使用角度

如果您想更好地控制渐变的方向,可以定义一个角度,而不是预定义的方向(到底部、到顶部、到右侧、到左侧、到右下角等)。 0deg 值相当于"to top"。 90deg 值相当于"to right"。 180deg 值相当于"to bottom"。

语法

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

以下示例展示了如何在线性渐变上使用角度:

180度

示例

#grad {
  background-image: linear-gradient(180deg, red, yellow);
}
亲自试一试 »

使用多个色标

以下示例显示了具有多个色标的线性渐变(从上到下):

示例

#grad {
  background-image: linear-gradient(red, yellow, green);
}
亲自试一试 »

以下示例演示如何使用彩虹的颜色和一些文本创建线性渐变(从左到右):

彩虹背景

示例

#grad {
  background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}
亲自试一试 »

使用透明度

CSS 渐变还支持透明度,可用于创建淡入淡出效果。

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

以下示例显示了从左侧开始的线性渐变。它开始完全透明,过渡到全红色:

示例

#grad {
  background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
}
亲自试一试 »

重复线性渐变

Repeating-Linear-gradient() 函数用于重复线性渐变:

示例

重复线性渐变:

#grad {
  background-image: repeating-linear-gradient(red, yellow 10%, green 20%);
}
亲自试一试 »