css - 为什么下面提到的十六进制颜色代码在视觉上与 6 位十六进制代码具有相同的颜色?
问题描述
我知道标准的十六进制颜色代码格式是 6 digit hexadecimal #RRGGBB
。但是为什么以下两个版本显示相似的颜色(至少在视觉上)#RGB
和#R0G0B0
?
例子:
#A1BD24
- 标准 6 位十六进制颜色代码(绿色阴影)#AB2
- (从 中的 2 位对中的每一个中取第 1 位#RRGGBB
)#A0B020
#RRGGBB
-用 0替换每 2 位数字对的第 2 位数字
所有 3 个都显示为绿色。是不是每 2 位数字对的第 2 位数字#RRGGBB
代表一个阴影?
解决方案
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.csswg.org/css-color/#hex-notation
推荐阅读
- ms-access - 基于两个条件打开表单会导致类型不匹配错误
- django - django 通过选中复选框一次编辑多个 id
- java - Java打开文件过多异常
- javascript - Excel 文件在我使用 ExcelJS 写入后损坏
- android - 想要在 android ndk 中包含模块
- dart - 如何将 Column 的子元素与底部对齐
- python-3.x - Guizero / TKinter中的计时器
- python - keras pandas列值到numpy数组
- maven - 在 Ubuntu 14.04 终端上使用 maven 命令运行 TestNG 测试套件文件时,Chrome 浏览器无法打开
- android - 在移动图 RealTime 上绘制 android 记录样本的幅度