颜色渐变步进(两种颜色之间的颜色)
在两种(或三种)颜色之间,用 sRGB、线性 RGB、HSL、OKLCH、OKLab 或 Lab 混色,得到 3 到 30 个等间距的颜色,附 HEX 列表、CSS 渐变、JSON 和色块。
想为图表图例、热力图或进度条找五种色阶,让它们从一个品牌色平滑过渡到另一个吗?这个工具会在起始色和结束色之间(可选经过一个中间色)返回 3 到 30 个等间距的颜色,并让你选择进行混色的色彩空间——这一点比大多数人想的要重要得多。你会得到 HEX 列表、平滑与分段两种 CSS 渐变、供图表库使用的 JSON、CSS 变量和色块。
使用方法
- 输入起始色和结束色;如果混合需要经过某个颜色,再输入中间色。
- 选择需要的颜色数量,包括两端。
- 选择混合空间:要均匀鲜艳的步进用 OKLCH 或 OKLab;要与旧工具一致用 sRGB;要彩虹效果用 HSL 较长色相路径。
- 复制 HEX 列表、JSON 或 CSS 变量。
计算公式
colorᵢ = start + (end − start) × tᵢ, with tᵢ = i ÷ (n − 1), computed on the channels of the chosen space
在 sRGB 中,通道是 0–255 的数值;在线性 RGB 中是光强;在 HSL 和 OKLCH 中,色相按 CSS Color 4 的规则沿色环走较短(或较长)的路径。灰色没有色相,因此借用另一个颜色的色相。超出 sRGB 的 OKLCH 结果会保持明度和色相、损失色度。
示例
从黑到白,用 sRGB 分 5 步,得到 #000000、#404040、#808080、#BFBFBF 和 #FFFFFF(255 × 0.25 = 63.75 → 64 = #40)。如果在线性 RGB 中混合,中间值则是 #BCBCBC,因为一半的光看起来比中灰更亮。从红到蓝用 HSL,较短路径经过品红 #FF00FF,较长路径经过酸橙绿 #00FF00。
常见问题
为什么我的渐变中间看起来发灰、发浑?
在 sRGB 中沿直线连接互补色(例如蓝和黄)时,会经过接近灰色的区域。在 OKLCH 中混合能在途中保持色度,而 OKLab 则让明度保持均匀。
做图表该用哪个空间?
用 OKLab 或 OKLCH:它们的步进看起来间距相等,这在用颜色表示数值时很重要。sRGB 的步进在某些区间会挤在一起,在另一些区间则拉得很开。
结果可以直接用在 CSS 里吗?
可以。现代浏览器支持 linear-gradient(to right in oklch, …),分段版本使用硬色标,所以你的每种颜色都会形成独立的一条色带。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/gradient-palette-tool/
引用此工具
kakaoCalc. (2026, November 8). 颜色渐变步进(两种颜色之间的颜色). https://kakao.mobile/zh/tools/gradient-palette-tool/
“颜色渐变步进(两种颜色之间的颜色).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/gradient-palette-tool/.