代码之家  ›  专栏  ›  技术社区  ›  Patrick Klug

用alpha通道表示颜色的十六进制?

  •  93
  • Patrick Klug  · 技术社区  · 15 年前

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

    是rgba还是argb?

    5 回复  |  直到 6 年前
        1
  •  65
  •   thelem    6 年前

    在css 3中,从规范中引用,“rgba值没有十六进制表示法”(请参见 CSS Level 3 spec )。相反,您可以使用带小数或百分比的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 Level 4 spec *)

    截至2018年9月的浏览器支持

    • 自从火狐49以来,火狐就支持这种语法。( Mozilla bug 567283 )
    • 自Safari 10以来,Safari支持此语法。
    • Chrome从Chrome62开始就支持这种语法。对于早期版本,您可以启用实验Web功能来使用此语法。见 Chromium Issue 618472 Webkit bug 150853 .
    • 针对Android P或更新版本的Android应用程序可以使用此语法
    • Opera支持Opera 52中的这种语法(或启用实验性Web功能时的Opera 39)。
    • IE 11和EdgeHTML 17(Edge 42)不支持此语法。

    最新的浏览器支持信息是 available on CanIUse.com

    *技术上仍处于草稿阶段,但考虑到浏览器的支持,这一点不太可能改变。

        2
  •  78
  •   Mischa    12 年前

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

    不管怎样,如果使用像sass这样的css预处理器,那么可以将十六进制传递给 rgba : 背景:

    rgba(#000, 0.5);
    

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

        3
  •  14
  •   Patrick Klug    12 年前

    我不确定是否有官方标准-

    rgba是我在Web上看到的表示 Macromedia等使用argb

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

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

    编辑 (帕特里克):引用上述W3链接

    与rgb值不同,rgba值没有十六进制表示法

        4
  •  4
  •   Oded Breiner    8 年前

    铬52+ supports α-十六进制:

    background: #56ff0077;
    

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

    background-color: rgba(255, 220, 0, 0.3);
    
        5
  •  3
  •   Jinjubei    11 年前

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

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