工具箱

RGB 与 HEX 颜色值的区别:写法、场景与互换方法

RGB 和 HEX 并不是两种「颜色」,而是同一套 sRGB 三通道数值的两种写法:rgb(66, 135, 245) 与 #4287F5 描述的是完全相同的颜色。既然可以互换,为什么 CSS 里两种写法长期并存?因为它们服务的动作不同——一个面向计算,一个面向阅读。

对比维度RGB 颜色HEX 颜色
书写形式函数式:rgb(66, 135, 245),通道值一目了然,现代语法允许空格与百分比十六进制串:#4287F5,六位两位一组对应 R/G/B,紧凑统一
本质与互换十进制 0–255;换算成十六进制即为 HEX,如 66→42、135→87、245→F5每两位十六进制折算回十进制即得 RGB,两者转换永远无损
透明度表达rgba(66,135,245,0.5),第四参数 0–1 小数直观易调#4287F5AA 八位写法,AA 是不透明度的十六进制(约 67%),更短但需要心算换算
可读性侧重看数值知配比:红色多不多、蓝色强不强直接可判,适合讲解与调参整体像一枚代号,便于在设计稿、变量名和文档间复制传播,但看不出成分
简写能力无简写形式;重复值必须完整写出支持三位简写:#FFF 等价于 #FFFFFF,白黑灰类颜色书写最省
程序化计算JS 动态混色、亮度调整、渐变插值时直接拿整数运算,无需解析字符串需先 parseInt 分段解析成通道数值才能运算,多一步且易错
生态习惯Canvas API、图表库配色接口、设计系统主题计算普遍以 RGB 数组为输入Photoshop、Figma 复制色值默认给 HEX,CSS 变量与品牌规范手册也惯用它

何时选 RGB 颜色?

需要在代码里对颜色做运算——透明度动画、按主题生成色阶、混合两个品牌色——就用 rgba()。数值形态让每一步计算都可直接调试,也方便和设计系统里的 token 保持一致。

何时选 HEX 颜色?

静态样式表里记录固定色值优先 HEX:短、可搜索、跨工具粘贴不走样。从设计稿取色、定义 CSS 变量或撰写品牌规范时,HEX 是团队沟通的最大公约数。

相关在线工具

常见问题

#RRGGBBAA 里的 AA 怎么换算成百分比?

把 AA 当作十六进制数转成十进制再除以 255。例如 80 → 128/255 ≈ 50%,FF = 100% 不透明,00 全透明。

三种写法(HEX、RGB、HSL)性能有差别吗?

浏览器解析后内部都会转为同一种表示,渲染性能没有实际差异。选哪种应基于可读性和工作流,而不是微不足道的解析开销。

为什么同一个颜色在不同屏幕上看起来不一样?

因为 RGB/HEX 只定义了「数值」,最终观感取决于屏幕面板类型、色域覆盖(sRGB/P3)与校准状态。要精确还原需要色彩管理而非更换写法。

延伸说明

有个小众但好用的进阶技巧:把 HEX 的六位拆成三组分别转十进制,就能在脑内完成大部分互转;而判断两个色值是否相同,先统一格式再比较是最稳妥的习惯。前端工程里还常见 HSL 这第三种写法,它按色相、饱和度、明度描述颜色,调色比 RGB 更直觉。站内提供 RGB 与 HEX 双向转换的颜色工具,本地即可完成批量色值换算,适合整理设计规范的场景。

← 返回对比列表