4

我知道将 3 位十六进制 css 颜色转换为 6 位代码的方法是将每个十六进制数字复制一次,如下所示。

#ABC === #AABBCC

为什么它会这样工作?为什么不#ABC等于#A0B0C0

4

2 回答 2

16

来自 W3C 规范:

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

你可以在这里阅读更多关于它的信息:http: //www.w3.org/TR/css3-color/

于 2012-07-12T19:45:56.757 回答
2

原因是能够编码全范围的颜色(能够同时进行最高和最低颜色)。例如,如果#RGB成为#R0G0B0,那么#fff将成为#f0f0f0,这意味着您不能编码白色。相反,如果#RGB变为#RfGfBf#000则将是#0f0f0f,排除黑色。系统#RGB = #RRGGBB允许#000= #000000(黑色)和#fff = #ffffff(白色),提供全范围的均匀间隔颜色。


阅读更多:

于 2015-02-19T17:54:05.947 回答