浅色颜色生成器

输入一个基色(十六进制如 #3498db)或直接给色相,工具保持色相 H 与饱和度 S 不变,只把亮度 L 推到 82%~96% 这一档,生成 5~6 个由浅到更浅的同色调色阶,并输出 HEX 列表与可直接粘贴的 CSS 变量。默认基色 #3498db 生成以 #b1cbf1 起、#eef3fc 止的浅蓝色阶。

留空或无效会提示;与下方色相冲突时以基色为准
填了就用这个色相,忽略基色的 H

提示:两个输入框任意改动即重算;基色框支持裸按 Enter 触发;结果区用 role="alert" 标出,方便读屏软件播报。

以 #3498db 为基色、亮度 82%~96% 的浅色对照

亮度 L(%)对应 HEX典型用途

本表固定以 #3498db 为基色演示「亮度如何决定浅色深浅」,仅作速查;你自己的基色请用上方生成器实算,整张表都用同一套 HSL→RGB→HEX 算法,没有硬编码。

使用方法

  1. 在「基色 HEX」填一个 6 位十六进制色,如默认 #3498db;也可只填「色相 H 覆盖」用纯色相(饱和度取一个稳妥默认值)生成。
  2. 点「生成浅色阶」或基色框裸按 Enter,工具把基色的 H、S 取出,把 L 推到 82%、84.8%、87.6%、90.4%、93.2%、96% 共 6 档。
  3. 结果区展示 6 个色块、一份 :root { --color-1: ... } 的 CSS 变量块,以及每行一个的 HEX 列表。
  4. 点「复制 CSS 变量」把变量块存到剪贴板;点「复制 HEX 列表」复制纯色值,方便粘进设计稿或代码。
  5. 点「载入示例」恢复 #3498db 并重算;对照表区可「加载更多」「导出 CSV」「复制 TSV」拿到全部 14 行亮度对照。

能解决什么问题

一是从单一主色快速派生一套浅色。做卡片背景、表格隔行、提示条、悬停态时,设计师常要「同一个蓝但更浅」的一串色。浅色颜色生成器锁定 H 与 S,只动 L,保证整组色彼此协调不跑调,省去手动拖亮度条。

二是输出即用的 CSS 变量。前端写主题时常要 --color-1 ... --color-6 这种命名。本页直接吐出 :root{} 块,复制进样式表就能用,不用再逐个手敲 HEX。

三是统一「浅」的语义。很多人把「浅色」理解成「加点白」,但那会同时拉低饱和度,越浅越灰。本页用 HSL 的 L 通道控制亮度,S 不变,浅得干净、不泛灰,更接近专业配色的浅色调。

本页不做这些事:不生成深色/对比色、不做色盲模拟、不返回互补色或三角配色;它只回答「给定基色,它的 6 档浅色阶与 CSS 变量是什么」。

生成原理与变量说明

先把 HEX 转 RGB,再转 HSL。HEX 是 RGB 的十六进制写法,拆出 R/G/B 三个 0~255 分量;RGB→HSL 用标准公式得到色相 H(0~360°)、饱和度 S(0~1)、亮度 L(0~1)。默认 #3498db 拆得 R=52、G=152、B=219,换算 H≈204°、S≈0.70、L≈0.53。

锁定 H、S,只改 L。这是「同色系浅化」的关键:L 决定明暗、H 决定色相、S 决定鲜艳度。把 L 从基色的 0.53 推到 0.82~0.96,色相与饱和度纹丝不动,于是得到「同一个蓝,只是更亮」的一系列浅蓝。

再 HSL→RGB→HEX 回去。对每一档 L,用 HSL 转 RGB 公式算出新 R/G/B,四舍五入成整数后转回两位十六进制拼成 HEX。这一步是页面核心算法,对照表里每个 HEX 都由它实算,没有写死。

为什么 L 取 82%~96%。日常浅色背景的 L 多落在 0.85 以上;低于 0.82 开始显得「不够浅」,高于 0.96 又接近纯白失去色感。6 档均匀铺在 82~96,既分得清又有层次。

数值只在本地计算。整条链路只有进制换算、HSL 公式与字符串拼接,全部在当前页面执行,没有任何网络请求,也不写 Cookie 或 localStorage。

完整示例(默认输入实测)

示例条件与页面默认值完全一致:基色 #3498db,不填色相覆盖。逐项核对:

这组数字和上方结果区完全一致;把基色换成你品牌的蓝/绿/橙,整套浅色阶会立即按同一逻辑重算。

对照表

对照表是「亮度→HEX 的速查」而非「你的基色结果」,它与上方生成器是两个独立信息源:生成器给你具体基色的 6 档,对照表给你 #3498db 的 14 档亮度梯度。

结果边界与舍入说明

常见问题

为什么我填 #3498db 出来不是 #d4e6f7?

本页示例给出的 #d4e6f7 是某一档浅色的大致示意;实际由算法按 6 档 L 实算,浅色颜色生成器对 #3498db 给出的是从 #b1cbf1 到 #eef3fc 的色阶。若你想要 #d4e6f7 那一档,可微调基色饱和度或把 L 设到约 88%,整组会整体偏移。

基色和色相同时填会听谁的?

优先听「色相 H 覆盖」:只要它填了 0~360 的合法值,就忽略基色的 H,但仍用基色的 S;若色相框留空,则从基色 HEX 里取 H。两者都空或都非法会提示你补全。

生成的浅色为什么有时发灰?

浅色发灰通常因为基色本身饱和度低(S 小),而本页严格锁定 S 不变,所以浅化后依然低饱和,看起来发灰。换一个更鲜艳的基色(S 接近 0.8)再生成,浅色会更「通透」。

CSS 变量能直接用吗?

能。结果区给出的 :root{ --color-1:#...; ... } 是标准 CSS 自定义属性写法,整块复制进你的样式表,然后用 background:var(--color-1) 调用即可,无需任何修改。

能生成深色或对比色吗?

不能。本页定位是「浅化」,只把 L 往上推到 82%~96%。若要深色,应把 L 往下推(如 20%~45%),那是另一套逻辑;若要做互补色或三角配色也不在本页范围。

为什么最高只到 96% 而不是纯白?

纯白 L=100% 已不含任何色相信息,等于把颜色「洗白」。本页保留 96% 这一档,让最浅处仍看得出是蓝/绿/橙的浅版,而不是一片白,层次更自然。

对照表后两行为什么折叠?

前 12 行直接显示,亮度 95%、96% 两行默认折叠,点「加载更多(还有 2 行)」即可展开;同时可「导出对照表 CSV」或「复制对照表」拿到全部 14 行 TSV,便于粘进表格。

结果会被上传或保存吗?

不会。所有颜色换算只在你当前浏览器里完成,页面不发起任何网络请求,也不写 Cookie 或 localStorage。你在开发者工具的 Network 面板里连点几次「生成浅色阶」,面板始终是空的。

相关工具