十六进制颜色:“透明”的数字表示? §

问题描述 投票:37回答:8

我正在构建一个Web CMS,用户可以在其中选择某些站点元素的颜色。我想将所有颜色值都转换为十六进制,以避免任何进一步的格式化麻烦(“ rgb(x,y,z)”或命名的颜色)。我为此找到了一个不错的JS库。

我无法进入十六进制的唯一内容是“透明的”。在显式声明一个元素透明时,我需要这样做,根据我的经验,这可能与根本不定义任何值有所不同。

有人知道这是否可以转换为某种数字形式吗?我是否必须设置所有处理实例以接受十六进制值“透明”?我没有其他办法。

css colors transparency rgb
8个回答
32
投票

透明度是颜色本身之外的属性,也称为alpha组件。您不能将其编码为RGB。

如果您想要透明的背景,可以这样做:

background: transparent;

另外,我不知道它是否有用,但是,您可以设置opacity属性:

.half{
  opacity: 0.5;
  filter: alpha(opacity=50);
}

您需要同时使用它才能使其在IE和所有其他不错的浏览器中正常工作。


40
投票

HEXA-#RRGGBBAA

有一种相对新的透明方法,称为HEXA(HEX + Alpha)。它使用8位数字而不是6位数字。最后一对是Alpha。因此,对的模式为#RRGGBBAA。具有4位数字也可以:#RGBA

我现在不确定它的浏览器支持,但是,您可以检查DRAFT Docs以获取更多信息。

§ 4.2。 RGB十六进制表示法:#RRGGBB

<hex-color>的语法是<hash-token>令牌其值由3、4、6或8个十六进制数字组成] >>。换句话说,将十六进制颜色写为哈希字符“#”,后跟一些数字0-9或字母a-f(字母的大小无关紧要-#00ff00等于[ C0])。

8位数字

前6位数字与6位数字符号的解释相同。最后一对数字(解释为十六进制数字)指定颜色的Alpha通道,其中#00FF00代表完全透明的颜色,00代表完全不透明的颜色。

示例3

换句话说,ff表示与#0000ffcc相同的颜色(略透明的蓝色)。

4位数字

这是8位数符号的缩写,以与3位数符号相同的方式“扩展”。解释为十六进制数的第一位数字指定颜色的红色通道,其中rgba(0, 0, 100%, 80%)代表最小值,0代表最大值。接下来的三个数字分别代表绿色,蓝色和Alpha通道。

[在大多数情况下,Chrome和Firefox已开始支持此功能:f


33
投票

[alpha通道定义了颜色的透明度值,因此,只要alpha值为0,任何颜色都是100%透明的。通常,这种四通道颜色类型被称为RGBA。


5
投票

您可以使用此转换表:here


2
投票

有两种常见的处理方法:要么将特定颜色保留为“透明”,在这种情况下,您不能在图像中使用该颜色而不显示透明,或者在红色,绿色和蓝色旁边定义第四个通道,即字母”表示透明/透明。


0
投票

非常简单:没有颜色,没有不透明性:


-2
投票

将以下十六进制代码用于透明文本颜色:#00FFFF00


-4
投票

我也在尝试提高透明度-也许您可以尝试将背景值留空,例如类似于

© www.soinside.com 2019 - 2024. All rights reserved.