SomeeLab.tools

颜色转换器 — HEX、RGB、HSL

在 HEX、RGB、HSL 之间转换颜色,并显示透明度和实时预览。无需注册,全部在浏览器中完成。

#3e6ff4
HEX#3e6ff4
RGBrgb(62, 111, 244)
HSLhsl(224, 89%, 60%)

三种写法,同一个颜色

HEX、RGB 和 HSL 只是把同一个颜色写成三种样子。屏幕上出来的结果一模一样,所以哪种顺手就用哪种。

HEX#RRGGBB 的形式,设计工具导出的、开发者粘贴的都是它。短,好复制。

RGB 把红、绿、蓝分别写成 0 到 255 的数。用代码算颜色,或者直接往画布上画的时候,需要的是这种形态。

HSL 用色相(0 到 360 度)、饱和度和亮度来写,最贴近人调颜色时的想法。

HSL 好用在哪里

比如要给按钮做一个悬停色。用 HEX,你看不出 #3E6FF4 该暗多少,只能改几位数字再比对。用 HSL,把亮度往下调 10 就行,色相和饱和度不动,两个颜色一眼就是一家的。

同样的办法可以拉出整套色板:固定色相、按档位调亮度,就得到一列深浅;把色相每次转 120 度,就得到彼此均衡的对比色。

如果颜色放在 CSS 变量里,可以把 HSL 的三个值分开存。以后只改色相那一个数字,整套主题的色调就跟着挪了。

透明度的写法

#RRGGBBAA 这样的八位 HEX,最后两位是不透明度:80 大约是 50%,FF 是完全不透明。现在的浏览器都认这种写法。

需要透明度时用 rgba() 或八位 HEX,但要记得:叠一层半透明色和干脆选一个更浅的颜色,结果并不一样。背景一换,半透明色也跟着变。

这个工具认哪些写法

它接受三位、四位、六位和八位的 HEX,rgb()rgba()hsl()hsla(),逗号分隔的旧写法和空格分隔的新写法都行。

redrebeccapurple 这类颜色名,以及 oklch() 这类较新的色彩空间,暂时读不了。遇到颜色名,先在浏览器开发者工具里看到它的 HEX 值再贴进来。