首页 > 解决方案 > 为什么下面提到的十六进制颜色代码在视觉上与 6 位十六进制代码具有相同的颜色?

问题描述

我知道标准的十六进制颜色代码格式是 6 digit hexadecimal #RRGGBB。但是为什么以下两个版本显示相似的颜色(至少在视觉上)#RGB#R0G0B0

例子:

所有 3 个都显示为绿色。是不是每 2 位数字对的第 2 位数字#RRGGBB代表一个阴影?

标签: css

解决方案


3 位代码只是 6 位的简写,其中每对中的第二个数字是第一个数字的重复。

所以:#xyz是一样的#xxyyzz(不是#x0y0z0你建议的)

相关规范在这里:https ://www.w3.org/TR/2018/REC-css-color-3-20180619/#rgb-color

以及我将在下面粘贴的相关部分:

十六进制表示法的 RGB 值的格式是一个“#”,后跟三个或六个十六进制字符。三位 RGB 符号 (#rgb) 通过复制数字而不是添加零转换为六位形式 (#rrggbb)。例如,#fb0 扩展为 #ffbb00。这确保了白色 (#ffffff) 可以用短符号 (#fff) 指定,并消除对显示器颜色深度的任何依赖。

颜色规范的下一次迭代实际上也增加了对 4 和 8 字符颜色的支持。在这些额外的数字(或一对)代表阿尔法通道。您可以在此处阅读此规范:https ://drafts.c​​sswg.org/css-color/#hex-notation


推荐阅读