CSS渐变通过linear-gradient和radial-gradient实现,前者沿方向平滑过渡颜色,后者从中心点向外扩散,支持形状、位置和透明色设置,常用于背景美化与视觉层次构建。

在CSS中,颜色渐变是一种常用的视觉效果,可以让背景或元素呈现出平滑的颜色过渡。主要通过linear-gradient(线性渐变)和radial-gradient(径向渐变)来实现。这两种方法可以直接用在background属性中,无需图片即可创建丰富的视觉层次。
线性渐变 linear-gradient
线性渐变沿着一个方向平滑地过渡颜色。基本语法如下:
background: linear-gradient(direction, color-stop1, color-stop2, ...);其中,direction定义渐变方向,可以是角度(如45deg)或关键词(如to bottom、to right top)。颜色停点(color-stop)指定颜色及其位置。
示例:
立即学习“前端免费学习笔记(深入)”;
- background: linear-gradient(to right, red, yellow); — 从左到右由红变黄
- background: linear-gradient(45deg, blue, white 50%, orange); — 45度方向,蓝→白→橙
- background: linear-gradient(to bottom right, #fff, #000); — 从左上到右下黑白过渡
提示:颜色停点可指定百分比或具体长度,如red 20%表示红色在20%处结束。
径向渐变 radial-gradient
径向渐变从一个中心点向外扩散,形状可以是圆形或椭圆。语法为:
background: radial-gradient(shape size at position, color-stop1, color-stop2, ...);其中shape可选circle(圆形)或ellipse(椭圆),size控制渐变大小,at position定义中心位置。
常见写法:
- background: radial-gradient(circle, yellow, green); — 圆形,中心发散
- background: radial-gradient(at top left, #f00, #00f); — 渐变中心在左上角
- background: radial-gradient(ellipse farthest-corner, rgba(255,0,0,0.5), transparent); — 椭圆渐变用于阴影或高光效果
尺寸关键词包括:closest-side、farthest-corner等,用于控制渐变范围。
实用技巧与兼容性
渐变支持透明色(如transparent),常用于遮罩或淡出效果。例如:
这行代码实现从透明到底部白色渐显,适合文字区域叠加。
现代浏览器普遍支持linear-gradient和radial-gradient,无需前缀。但若需兼容老版本IE,建议提供纯色备用方案。
基本上就这些,掌握方向、停点和位置设置,就能灵活运用CSS渐变美化页面背景。不复杂但容易忽略细节,比如顺序和单位。










