为什么3位数的十六进制css颜色会像它们那样转换为6



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

#ABC === #AABBCC

为什么它是这样工作的?为什么#ABC不等同于#A0B0C0

来自W3C规范:

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

您可以在此处阅读更多信息:http://www.w3.org/TR/css3-color/

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


阅读更多信息:

  • 维基百科文章
  • W3网站

相关内容

  • 没有找到相关文章

最新更新