linear-gradient是CSS3引入的用于创建线性渐变背景的函数,它可以直接作为background或者background-image属性的值使用,不需要借助图片就能实现平滑的颜色过渡效果,能有效减少页面的资源请求,提升加载速度。

linear-gradient基础语法
linear-gradient的基本语法结构如下:
/* 基础语法 */ background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
其中direction表示渐变的方向,可以是角度值,也可以是关键词,color-stop表示渐变的颜色节点,可以设置多个,每个颜色节点还可以指定颜色出现的位置。
渐变方向设置
渐变方向有两种设置方式,第一种是使用关键词,比如to top表示从上到下渐变,to right表示从左到右渐变,to bottom right表示从左上角到右下角渐变。第二种是使用角度值,角度的单位是deg,0deg表示从上到下渐变,90deg表示从左到右渐变,180deg表示从下到上渐变,角度值越大,渐变方向顺时针旋转。
颜色节点设置
颜色节点可以设置任意多个,每个颜色后面可以跟上位置值,位置值可以是百分比也可以是具体的长度值,用来指定该颜色在渐变中出现的起始位置。如果不指定位置,浏览器会自动平均分配各个颜色的位置。
常见渐变实现案例
简单双色渐变
实现一个从顶部到底部的蓝紫色渐变,代码如下:
.gradient-box {
width: 300px;
height: 200px;
/* 从上到下的蓝紫渐变 */
background-image: linear-gradient(to bottom, #4facfe 0%, #00f2fe 100%);
}
多色角度渐变
实现一个45度方向的红黄绿三色渐变,代码如下:
.multi-color-gradient {
width: 300px;
height: 200px;
/* 45度方向的红黄绿渐变 */
background-image: linear-gradient(45deg, #ff0000 0%, #ffff00 50%, #00ff00 100%);
}
重复线性渐变
如果需要实现重复的渐变效果,可以使用repeating-linear-gradient函数,它的语法和linear-gradient基本一致,只是会重复填充渐变图案,示例代码如下:
.repeating-gradient {
width: 300px;
height: 200px;
/* 重复的红白条纹渐变 */
background-image: repeating-linear-gradient(to right, #ff0000 0px, #ff0000 20px, #ffffff 20px, #ffffff 40px);
}
使用注意事项
- linear-gradient生成的是背景图片,不是颜色,所以设置时需要用background-image属性,或者直接用background简写属性。
- 如果需要兼容旧版本的浏览器,可能需要添加浏览器前缀,比如-webkit-linear-gradient、-moz-linear-gradient,不过现在大部分现代浏览器已经不需要前缀了。
- 渐变方向的角度值和关键词可以混合使用,但是不建议这样写,容易导致语法混乱,可读性下降。
- 颜色节点的位置值如果设置不合理,比如后面的颜色位置比前面的小,浏览器会自动调整位置,保证渐变的合理性。
通过合理调整linear-gradient的方向参数和颜色节点,可以实现非常丰富的渐变背景效果,满足不同页面的样式设计需求,开发者可以根据实际场景灵活调整参数配置。
CSSlinear_gradient渐变背景前端样式修改时间:2026-07-13 05:18:20