跳到正文

Tailwind 最接近色查找

Nearest Tailwind Colour

为任意颜色找出最接近的 Tailwind 调色板取值,并给出感知色差。

找出和你手上的颜色最接近的 Tailwind 调色板条目,用 OKLab 里的 ΔE 而不是 RGB 距离来度量。它还回答另一个常常更有用的问题:你的颜色属于哪个色系。

🔒 完全在你的浏览器里运行tailwindcolorlookupcss

你的颜色

这是怎么量的

距离用的不是 RGB 里的欧氏距离,而是 OKLab 里的 ΔE。按 RGB 算,藏青和纯蓝差 128,而两个只差 16 的中灰算下来近了四倍——可后者的差别明显得多。OKLab 就是为了让直线距离贴近感知差别而造的,而这里问的正是感知差别。

  • ≤ 0.001 — 一模一样,这就是那个 Tailwind 颜色。
  • ≤ 0.02 — 差别小于人眼能察觉的界限,换过去很安全。
  • ≤ 0.05 — 并排看得出来不一样,单独看已经够接近了。
  • ≤ 0.1 — 看得出来变了。做背景没问题,做品牌标识不行。
  • > 0.1 — 是另一个颜色。Tailwind 里没有接近的,还是扩展主题吧。

调色板是从装好的 Tailwind 4.3.3 里读出来的,每次运行都有测试对一遍。

最接近的颜色

indigo-600

#4f39f6

并排看得出来不一样,单独看已经够接近了。

ΔE OKLab

0.0319

Tailwind 的值

oklch(51.1% 0.262 276.966)

其次接近的

  • indigo-700#432dd7ΔE 0.0545
  • blue-700#1447e6ΔE 0.0580
  • blue-600#155dfcΔE 0.0698
  • indigo-500#6260ffΔE 0.0745
  • violet-700#7008e7ΔE 0.0810
  • violet-600#7f22feΔE 0.0925
  • violet-800#5d0ec0ΔE 0.1010

最接近的色系

  • indigo最合适的一档 600ΔE 0.0319
  • blue最合适的一档 700ΔE 0.0580
  • violet最合适的一档 700ΔE 0.0810
  • purple最合适的一档 700ΔE 0.1132
  • sky最合适的一档 700ΔE 0.1415

这跟“最接近的颜色”是另一个问题,而且往往更有用:你的品牌色属于哪个色系,按这个色系里最合适的那一档打分。

如果这里没有一个够接近的,答案是扩展主题,而不是将就最接近的那个—— 50–950 整条色阶生成会从你的颜色做一条,粘贴进 @theme 就行。

怎么用

  1. 输入你的颜色

    通常是别人发给你的品牌十六进制。最接近的 token、它的十六进制和 ΔE 立刻出现。

  2. 匹配色相时跳过中性色

    slate、gray、zinc、neutral 和 stone 会赢下每一次接近灰色的查询,这是对的,但很少是你想要的答案。

  3. 读色系列表

    每个色系按它最好的一级打分。“你的品牌色是一种 indigo”比“最近的色块是 indigo-600”更可操作。

常见问题

为什么用 ΔE 而不是 RGB 距离?

因为 RGB 距离和你看到的不符。它把藏青和纯蓝算作相距 128,却把两个相距十六的中灰算作近四倍——而后者的差别明显得多。OKLab 就是为了让直线距离近似感知差异而建的。

多大的 ΔE 算好?

OKLab 里低于约 0.02 实际上就是同一个颜色;到 0.05 是没人会质疑的匹配;过了 0.1 你就是在选另一个颜色,应该明说。阈值列在页面上。

为什么有个条目标着超出 sRGB?

因为 Tailwind 现在用 OKLCH 定义调色板,有些条目落在 sRGB 能显示的范围之外。十六进制是色域映射后的近似;用 `oklch()` 值能在 P3 显示器上保留额外的饱和度。

没有足够接近的。接下来怎么办?

扩展主题,不要接受最近的那个。从你的颜色生成完整的 50–950 色阶,粘进 `@theme`——一个被近似成最近现成色块的品牌色,就不再是品牌色了。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。