CSS Handbook · 颜色与视觉效果

第七章 / 7.2 渐变

第七章 · 7.2 节

渐变


渐变本质上是一种特殊的图像值,可以用在任何接受 background-image 的地方。CSS 提供三种渐变函数——线性、径向、锥形,分别对应"沿一条直线过渡""从一点向外扩散""围绕一点旋转过渡"三种视觉效果。

linear-gradient:线性渐变

.hero {
  background: linear-gradient(135deg, #8a5a2e, #3f5d54);
}
效果预览:135° 方向

角度或关键字(to rightto bottom left)决定渐变方向;0deg 指向正上方,角度顺时针增加。

radial-gradient:径向渐变

.spotlight {
  background: radial-gradient(circle at 30% 30%, #d3985a, #26233a 70%);
}
效果预览:光晕效果

at 30% 30% 决定圆心位置;不指定形状时默认按容器比例呈椭圆,显式写 circle 则强制正圆。

conic-gradient:锥形渐变

颜色围绕中心点旋转过渡,是绘制饼图、色相环、加载进度环最直接的方式。

.pie {
  background: conic-gradient(#8a5a2e 0 65%, #e7e8e1 0);
  border-radius: 50%;
}
效果预览:65% 进度环

色标位置与硬边渐变

每个颜色后面可以跟一个位置百分比。当相邻两个色标使用相同的位置值时,过渡会瞬间完成,形成清晰的"硬边",常用来模拟条纹或分段进度条。

.stripes {
  background: linear-gradient(90deg,
    #8a5a2e 0 25%,
    #3f5d54 25% 50%,
    #8a5a2e 50% 75%,
    #3f5d54 75% 100%);
}
效果预览:硬边条纹

叠加多层渐变

background 支持用逗号叠加多个背景图层,渐变与真实图片可以混合使用——常见做法是在图片上叠一层半透明渐变遮罩,保证文字在任意背景图上都清晰可读:

.card-cover {
  background:
    linear-gradient(to top, rgba(0,0,0,.7), transparent 60%),
    url("cover.jpg");
  background-size: cover;
}

文字渐变

把渐变"裁剪"进文字形状内,是标题类视觉效果中常见的技巧,依赖 background-clip: text 与透明文字色配合:

.gradient-text {
  background: linear-gradient(90deg, #8a5a2e, #3f5d54);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
效果预览
Gradient Text