核心答案:HEX、RGB、HSL 是 CSS 三种等价的颜色写法——#10b981 = rgb(16,185,129) = hsl(160,84%,39%)。透明度在 HEX 加两位(#10b98180=50%)、RGB 用 rgba 第 4 参、HSL 用 hsla。

CSS 颜色三格式对照

格式写法示例适合场景
HEX#10b981最常用,设计稿标注
RGBrgb(16 185 129)JS 操作、canvas
HSLhsl(160 84% 39%)调色最直观(改亮度/饱和度)

HSL 调色技巧:固定色相 H,只改 S(鲜艳度)和 L(明暗)即可生成同色系梯度——L 从 90% 到 30% 递减得到 10 级色阶,这是 Tailwind 色板的生成逻辑。

透明度写法

需求写法
HEX 50% 透明#10b98180(两位十六进制,FF=不透明,00=全透明)
RGB 半透明rgba(16,185,129,0.5)
HSL 半透明hsla(160,84%,39%,0.5)
全局透明opacity:0.5(会影响子元素文字!)

无障碍对比度(WCAG 2.1)

级别正文文字大标题(≥18pt)
AA(最低合规)4.5:13:1
AAA(增强)7:14.5:1

白底(#fff)上:#777 恰好 4.5:1,#999 只有 2.8:1 不合规。浅色文字是最容易踩的坑。

常见误区

  1. opacity 与 rgba 混用:opacity 让整个元素(含文字)透明,只要背景半透明请用 rgba/hsla。
  2. HEX 透明度位置记错:透明度加在最后两位(#RRGGBBAA),不是前面。
  3. 深色模式不反转:prefers-color-scheme 下用 CSS 变量切换色值,别只写一套浅色。
  4. 颜色仅作唯一信息:错误状态不能只靠红色,需配合图标/文字(8% 男性红绿色盲)。

常用颜色三制式对照表

颜色HEXRGBHSL
纯红#FF0000255,0,00°,100%,50%
纯绿#00FF000,255,0120°,100%,50%
纯蓝#0000FF0,0,255240°,100%,50%
#FFFF00255,255,060°,100%,50%
品红#FF00FF255,0,255300°,100%,50%
#00FFFF0,255,255180°,100%,50%
#0000000,0,00°,0%,0%
#FFFFFF255,255,2550°,0%,100%
#808080128,128,1280°,0%,50%

实例:HEX 与 RGB 互算

HEX→RGB:#3A7BD5 → 3A=58、7B=123、D5=213 → rgb(58,123,213)。

RGB→HEX:rgb(255,136,0) → 255=FF、136=88、0=00 → #FF8800。

HEX 速读:每两位一个通道(RRGGBB),值越大该通道越亮——#20D020 明显偏绿。

用[颜色转换工具](/c/dev/color-convert)实时互转 HEX/RGB/HSL 并预览。