RunToolz iconRunToolz
Welcome to RunToolz!
颜色CSS设计

Hex、RGB、HSL:给普通人的快速指南

Hex、RGB、HSL颜色代码让人困惑?为开发者和非设计师详解颜色格式的区别、转换方法,以及如何快速找到项目中需要的精确色调。

RunToolz Team2025年12月28日4 min read

设计师给你发了个颜色:#3B82F6。你需要把它转成RGB给某个库用。或者你想要稍微深一点的版本。或者你想搞清楚为什么它在你的显示器上看起来不一样。

颜色系统并不复杂,但没人好好解释它们。这里是你真正需要知道的。

HEX:网页标准

#3B82F6这样分解:

  • 3B = 红色(十进制59)
  • 82 = 绿色(十进制130)
  • F6 = 蓝色(十进制246)

每对是从00到FF的十六进制数(十进制0-255)。越多=越亮。#000000是黑色。#FFFFFF是白色。

有简写:#FFF = #FFFFFF#09C = #0099CC。三个字符通过加倍每个字符扩展到六个。

想亲自试试吗?颜色转换

RGB:显而易见的那个

rgb(59, 130, 246)是同一种颜色,只是写法不同。红59,绿130,蓝246。

有些格式需要百分比:rgb(23%, 51%, 96%)。同样的东西,不同的记法。

RGBA添加透明度:rgba(59, 130, 246, 0.5)是50%不透明度的那个蓝色。

HSL:真正有用的那个

hsl(217, 91%, 60%)用不同方式描述颜色:

  • 色相(217): 色轮上的位置。0=红色,120=绿色,240=蓝色。
  • 饱和度(91%): 强度。0%=灰色,100%=鲜艳。
  • 亮度(60%): 明度。0%=黑色,50%=纯色,100%=白色。

HSL为什么重要:调整颜色很直观。

想要更深的版本?降低亮度。 想要柔和的版本?降低饱和度。 想要完全不同但"感觉"相同的颜色?改变色相,保持饱和度和亮度。

在HEX或RGB中,这些调整需要数学或猜测。在HSL中,它们是单个数字的改变。

它们之间的转换

数字以不同方式表示相同的颜色。#3B82F6 = rgb(59, 130, 246) = hsl(217, 91%, 60%)

当你需要特定格式时使用转换器。大多数设计工具显示所有三种。CSS接受所有三种。

常见情况

"让这个颜色更深" 转换为HSL,降低10-20%的亮度,转换回去。

"我需要悬停状态的变体" 转换为HSL。按钮:60%亮度。悬停:55%。激活:50%。

"这个颜色看起来褪色了" 饱和度可能太低。试试在HSL中增加它。

"精确匹配品牌颜色" 从品牌指南中获取hex代码。别凭眼力。

"颜色在不同屏幕上看起来不一样" 欢迎来到色彩校准地狱。使用相同的hex代码;接受显示器会有差异。

可访问性提示

颜色对比度很重要。浅色背景上的浅色文本=很多人看不清。

有个比例:正常文本4.5:1,大文本3:1。有工具可以检查这个。拿不准时,对比度越高越好。

白色文本在那个#3B82F6蓝色上?对比度约4.6:1——刚刚及格。更深的蓝色对正文文本更安全。


你不需要成为设计师。你只需要知道如何在格式之间转换,并且知道HSL让调整更容易。其他都是细节。