128

是否有关于如何以十六进制格式表示颜色(包括 alpha 通道)的 W3 或任何其他值得注意的标准?

是#RGBA 还是#ARGB?

4

5 回答 5

94

看起来没有十六进制 alpha 格式:http ://www.w3.org/TR/css3-color/

无论如何,如果你使用像 SASS 这样的 CSS 预处理器,那么你可以将一个十六进制传递给rgba:背景:

rgba(#000, 0.5);

预处理器只是自动将十六进制代码转换为 rgb。

于 2012-11-07T08:48:10.980 回答
92

在 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 格式

它一直得到支持:

  • Firefox 49,2016 年 9 月发布(Mozilla 错误 567283)。
  • Safari 10,2016 年 9 月发布。
  • Chrome 62,于 2017 年 10 月发布。对于早期版本,您可以启用实验性网络功能以使用此语法。请参阅Chromium 问题 618472Webkit 错误 150853
  • Opera 52,2018 年 3 月发布(或 Opera 39,启用实验性网络功能)。
  • Edge 79,2020 年 1 月发布(基于 Chromium 的 Edge 的第一个版本)
  • 三星互联网 8.2,2018 年 12 月发布
  • Android P(您的应用必须面向 Android P 或更新版本)

它不支持:

  • IE
  • 原始边缘(版本号高达并包括 18)
  • 歌剧迷你
  • UC浏览器

CanIUse.com 上提供了最新的浏览器支持信息

*技术上仍处于草案阶段,但鉴于浏览器支持,这不太可能改变。

于 2015-06-24T14:51:13.073 回答
15

不知道有没有官方标准

RGBA 是我见过的 Web Macromedia 的表示,其他人使用 ARGB

我相信 RGBA 是更常见的表示。

如果它有帮助,这是来自 W3 for CSS3
http://www.w3.org/TR/css3-color/#rgba-color

编辑(Patrick):引用上述 W3 链接

与 RGB 值不同,RGBA 值没有十六进制表示法

于 2009-09-14T02:36:57.413 回答
11

Chrome 52+支持alpha hex:

background: #56ff0077;

对于较旧的浏览器,您必须使用:

background-color: rgba(255, 220, 0, 0.3);
于 2016-07-17T13:06:29.303 回答
3

您可以尝试将十六进制颜色放入 GIMP 或 photo shop 的颜色选择器中以获取 RGB 值,然后使用 alpha 值。例如。red 是#FF0000or rgb(255,0,0) 如果你想要 alpha 值为 0.5 的红色,那么rgba(255,0,0,.5)

也许不完全是你想要的,但希望能有所帮助。

于 2013-08-06T18:59:00.473 回答