十六进制颜色以#开头,是RGB三通道各用两位十六进制(00–FF)拼接的CSS标准语法;#RGB为简写,每位自动复制成#RRGGBB;八位#RRGGBBAA支持透明度但IE11不兼容;应避免颜色名、误写及优先级问题,推荐使用CSS变量统一管理。

十六进制颜色就是用#开头的RGB数值编码
它本质是把红(R)、绿(G)、蓝(B)三个通道的强度,各自用 0–255 的十进制数,转成两位十六进制(00–FF)拼在一起。# 开头不是装饰,而是 CSS 强制要求的语法标识符——漏掉 #,浏览器直接当无效值忽略。
#RRGGBB 和 #RGB 两种写法怎么对应
六位格式 #RRGGBB 是完整写法,比如 #1a2b3c:1a 是红色、2b 是绿色、3c 是蓝色;三位简写 #RGB 是等比压缩,#f30 实际展开为 #ff3300(每位自动复制一次)。注意:#1234 或 #12345 是非法格式,CSS 不解析。
-
#000→#000000(纯黑) -
#fff→#ffffff(纯白) -
#09c→#0099cc(青蓝色,不是 #0909cc)
带透明度的 #RRGGBBAA 怎么用才不翻车
八位写法 #RRGGBBAA 中最后两位是 alpha(透明度),#00000080 表示半透黑色。但它在 IE11 及更早版本完全不支持,若需兼容旧环境,必须改用 rgba(0, 0, 0, 0.5);现代项目可放心用,但别混用——#000000 和 #000000FF 视觉一致,但后者多占一个字节且无实际增益。
- 常见误写:
0xFF0000(带 0x 前缀)、#FF0000(末尾空格)、text-colour: #f00(属性名拼错) - 生效失败常因选择器没匹配、被更高优先级规则覆盖,而非颜色值本身错误
为什么不用颜色名而坚持用 #
颜色名(如 red、darkslategray)只有约 140 个标准名,且语义模糊(lightgray 和 gainsboro 差距极小却不同);而十六进制能精确表达 1677 万种颜色,团队协作时也避免歧义。不过,真要长期维护,建议把常用 hex 提炼为 CSS 变量,比如 --primary: #007bff,而不是满屏散落 #007bff。
立即学习“前端免费学习笔记(深入)”;
真正容易被忽略的是:hex 值大小写不敏感,但统一小写(#ff5733)是行业惯例,既降低 Git 冲突概率,也方便后续自动化工具处理。










