rrggbbaa 是八位十六进制颜色值,前六位为 rgb,后两位为 alpha(00–ff),需前置 fallback 色值以兼容旧浏览器,aa 非百分比需换算,不可滥用 #rgba 简写,性能无显著优势,语义更清晰。

直接写 #RRGGBBAA 就行,但必须加 fallback
现代浏览器(Chrome 65+、Firefox 49+、Edge 79+、Safari 12.1+)能直接解析 #RRGGBBAA,比如 #0b79b966 表示蓝绿色带约 40% 透明度。但它在 IE 或旧 Safari 中会被整个忽略——不是变不透明,而是“消失”,可能渲染成透明黑或继承父背景,调试时容易误判为样式没生效。
所以必须手动提供降级方案:
- fallback 色值要写在前面,
background-color: #0b79b9; background-color: #0b79b966; - 不能反过来写,否则老浏览器会跳过整条声明
- fallback 不一定要是纯色,也可以是另一个 rgba(),比如
background-color: rgba(11, 121, 185, 0.4); background-color: #0b79b966;
#RRGGBBAA 的 AA 不是百分比,别按十进制硬套
常见错误是把 50% 透明度直接写成 #0b79b950——这其实对应 alpha ≈ 0.31(因为 0x50 = 80,80 ÷ 255 ≈ 0.31),远比预期更透。正确做法是查换算表或用公式:目标小数 × 255 → 四舍五入 → 转十六进制。
-
0.4→ 0.4 × 255 = 102 →66→#0b79b966 -
0.5→ 127.5 → 四舍五入为 128 →80→#0b79b980 -
0.7→ 178.5 → 179 →B3→#0b79b9B3
记不住就存一张速查表:80≈50%,66≈40%,CC≈80%,00全透,FF不透。
别碰 #RGBA 四位简写,除非颜色真能两两重复
#RGBA 是 #RRGGBBAA 的简写形式,但只适用于原色可压缩的情况,比如 #f0a8 展开为 #ff00aa88。如果乱用,比如把 #0b79b966 错写成 #0796,浏览器会按 #00779966 解析——红绿蓝全错,结果完全不可控。
- 合法简写:#f0a8 → #ff00aa88,#fff8 → #ffffff88
- 非法简写:#0b79b966 不能简成 #0796(#00779966 ≠ #0b79b966)
- 安全建议:开发中一律用完整八位,设计交付稿里看到四位再确认是否真可简写
和 rgba() 比,#RRGGBBAA 唯一优势是简洁,别迷信“性能更好”
有说法称 #RRGGBBAA 渲染更快,实际在现代引擎里差异可忽略。真正区别在于语义和维护成本:
- 改主题时,只需批量替换
AA两位,不用动 rgb 数值;而rgba()得同时改三个数字和小数 - 设计稿给的是
#0b79b966,你直接粘贴就行;给的是 rgba(11, 121, 185, 0.4),你还得反向算十六进制 - 但
opacity仍是另一回事——它影响整个元素,#RRGGBBAA只作用于颜色本身
最易被忽略的点:#000000FF 和 #000000 视觉一致,但前者多两个字符、无任何收益,纯属冗余。该省则省,别为了“统一格式”硬加 FF。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











