是否有关于如何以十六进制格式表示颜色(包括 alpha 通道)的 W3 或任何其他值得注意的标准?
是#RGBA 还是#ARGB?
看起来没有十六进制 alpha 格式:http ://www.w3.org/TR/css3-color/
无论如何,如果你使用像 SASS 这样的 CSS 预处理器,那么你可以将一个十六进制传递给rgba
:背景:
rgba(#000, 0.5);
预处理器只是自动将十六进制代码转换为 rgb。
在 CSS 3 中,引用规范,“RGBA 值没有十六进制表示法”(参见CSS Level 3 规范)。相反,您可以使用带有小数或百分比的 rgba() 函数表示法,例如 rgba(255, 0, 0, 0.5) 将是 50% 透明红色。RGB 通道为 0-255 或 0%-100%,alpha 为 0-1。
在 CSS 4* 中,您可以使用 8 位十六进制颜色的第 7 个和第 8 个字符或 4 位十六进制颜色的第 4 个字符来指定 alpha 通道(请参阅CSS 4 级规范*)
截至 2021 年 7 月,预计将有 >93% 的用户了解#RGBA 格式
它一直得到支持:
它不支持:
CanIUse.com 上提供了最新的浏览器支持信息
*技术上仍处于草案阶段,但鉴于浏览器支持,这不太可能改变。
不知道有没有官方标准
RGBA 是我见过的 Web Macromedia 的表示,其他人使用 ARGB
我相信 RGBA 是更常见的表示。
如果它有帮助,这是来自 W3 for CSS3
http://www.w3.org/TR/css3-color/#rgba-color
编辑(Patrick):引用上述 W3 链接
与 RGB 值不同,RGBA 值没有十六进制表示法
Chrome 52+支持alpha hex:
background: #56ff0077;
对于较旧的浏览器,您必须使用:
background-color: rgba(255, 220, 0, 0.3);
您可以尝试将十六进制颜色放入 GIMP 或 photo shop 的颜色选择器中以获取 RGB 值,然后使用 alpha 值。例如。red 是#FF0000
or rgb(255,0,0
) 如果你想要 alpha 值为 0.5 的红色,那么rgba(255,0,0,.5)
。
也许不完全是你想要的,但希望能有所帮助。