CSS渐变生成器

只需添加两个或更多颜色节点,即可实时预览并生成linear-gradient或radial-gradient的CSS代码。可自由调整角度和节点位置,生成的代码一键复制即可使用。

什么是 CSS 渐变

CSS 渐变是不借助图像、仅凭样式表便绘出由两种以上颜色平滑相接的色带或放射状纹样的机制。linear-gradient() 沿所指定的角度作直线式的色彩推移,radial-gradient() 则自中心向外画圆般扩散。因可用文字书写而轻量,放大也不会变粗糙,想改颜色时只需改写数值即可。

本工具可一面在画面上调整种类、角度与色标,一面当场确认结果,并把生成的 CSS 直接复制。色标最多可放6个,各自指定颜色与位置(%)。少于2个便不成其为渐变,会给出错误提示。另需注意角度采用 CSS 独有的取法:0deg 为自下而上,90deg 为自左而右,与数学所用角度的零点方向不同。圆形(radial)没有角度的概念,故角度的指定不起作用。

CSS 渐变的制作方法

  1. 选择种类 想让颜色作直线变化请选线性(linear),想自中心放射状扩散请选圆形(radial)。
  2. 决定角度 仅在线性时有效。0deg 为自下而上,90deg 为自左而右,按顺时针递增。可拖动滑块一边调整一边确认方向。
  3. 放置色标 用「添加颜色」最多可增至6个。为各色标指定颜色与位置(%),即可细致地操控颜色切换之处。
  4. 以预览确认 每次更改设定预览都会重绘,可当场判断色彩的交界是否过于生硬、方向是否合乎所想。
  5. 复制 CSS 按「复制 CSS」即放入剪贴板,可直接粘贴到样式表的 background 中。

用好本工具的小技巧

  • 最多可添加6个颜色节点,自由调整每个节点的颜色和位置(%),从而制作出复杂的多色渐变效果。
  • 线性渐变中,0度表示从下到上变化,90度表示从左到右变化,拖动滑块即可直观调整角度。
  • 径向渐变没有角度的概念,颜色会以圆形方式从中心向外扩散。
  • 点击“复制CSS”按钮,即可将生成的代码复制到剪贴板,直接粘贴到样式表中使用。

CSS 渐变的应用场景

为按钮或徽章增添立体感

铺上自上而下略微变暗的线性渐变,比单色更显得可按。把色差保持得小一些,是使其看来自然的诀窍。

制作主视觉区的背景

在页面上部的宽幅色带上铺以两色以上的渐变,便可不载入任何图像而备下有印象力的背景,且不拖慢显示速度。

聚光灯风格的演出

以圆形渐变使中心明亮、外侧暗淡,即成光线照射般的表现。

在图像上叠加文字

在照片上叠加自半透明黑向透明推移的线性渐变,即便在照片的明亮处也能读清文字。

想先定下颜色本身时

在挑选放入色标之颜色的阶段请使用色彩代码转换;若要构思配色的组合,请使用配色调色板。

与 CSS 渐变相关的术语

linear-gradient
指绘制沿所指定角度作直线式色彩推移之渐变的 CSS 函数。适合带状背景与按钮的填充。
radial-gradient
指绘制自中心点向外作圆形或椭圆形扩散之渐变的 CSS 函数,不具备角度的概念。
色标(color stop)
指在渐变途中放置的「此处用此色」的指定。位置以起点为0%、终点为100%的比例表示。
角度(deg)
指 linear-gradient 中颜色推移的方向。CSS 中 0deg 为自下而上,90deg 为自左而右,按顺时针递增,与数学一般所用角度的零点方向不同。
浏览器前缀
指如 -webkit- 这般,在标准化之前各浏览器各自提供功能时所加的前缀。渐变已完成标准化,故现今不再需要。
background 属性
指用以指定元素背景的 CSS 属性。渐变被视作背景图像的一种,故写于此处。

常见问题

linear-gradient沿指定的角度以直线方式过渡颜色,常用于按钮或条状背景设计。而radial-gradient从中心点以圆形或椭圆形向外扩散颜色,适合表现聚光灯效果或立体感。

在CSS的linear-gradient()中,角度以度(deg)为单位指定。0deg表示从下到上,90deg表示从左到右,180deg表示从上到下。需要注意的是CSS的角度是按顺时针方向计算的,这与数学上0度指向右侧的常规定义不同。

颜色节点的位置表示该颜色在渐变起点(0%)到终点(100%)之间所处的位置。通过调整位置的分布,可以让颜色在某些区域变化得平缓,在另一些区域变化得急促。

linear-gradient和radial-gradient在Chrome、Firefox、Safari、Edge等所有主流浏览器中均可直接使用,无需添加浏览器前缀,甚至可追溯到IE10。除非需要兼容非常老旧的移动端浏览器,否则无需额外处理。
工具君

闲话 ― CSS渐变为何取代了渐变图片

在CSS3出现之前,网页上的渐变背景通常是用图像编辑软件制作成PNG或JPEG图片后作为背景使用的。但这种方法存在不少问题:额外的图片请求会拖慢页面加载速度,在响应式布局中放大后画质会变得模糊,而仅仅想修改一种颜色也需要重新导出整张图片。

2010年代初期,浏览器陆续实现了linear-gradient和radial-gradient语法后,这些问题基本得到了解决。由于渐变完全用文本描述,文件体积轻量,无论放大缩小画质都不会劣化,修改颜色也只需编辑样式表中的几个数值即可完成。

早期实现中,不同浏览器需要不同的厂商前缀(-webkit-、-moz-、-o-等)且语法略有差异,开发者不得不为同一条规则编写多个带前缀的版本。如今随着W3C完成标准化,无前缀的标准写法已经可以在所有主流浏览器中稳定运行。