透明色vs rgba(0,0,0,0)

时间:2015-02-03 08:53:09

标签: css

使用是否有任何主要优势:

background-color: rgba(0,0,0,0);

而不是:

background-color: transparent;

3 个答案:

答案 0 :(得分:10)

行为完全相同,但transparent is compatible also with IE8RGBA更高级(但lacks IE8 support)并允许您快速修改它,以防您希望" 几乎透明"颜色,无需完全更改属性。

例如,可以非常快速地设置

background-color: rgba(0,0,0,0.1);

由于忽略了无法识别的属性的浏览器的默认行为,可以将它们组合在一起以便在较新的浏览器中使用新的浏览器,但为旧的浏览器留下一个后备,只需键入两个:

background-color: transparent;
background-color: rgba(0,0,0,0);

或者,更有用的是,如果引用几乎透明的背景,你可以写:

background-color: transparent;
background-color: rgba(0,0,0,0.1);

新浏览器会将rgba(0,0,0,0.1)设置为背景,覆盖之前的transparent声明,但IE8会将transparent设置为背景,因为它会忽略无法识别的rgba()值,因此根据优雅降级原则,结果略有不同。

答案 1 :(得分:1)

注意:background_color: rgba(0,0,0,0.0);会更准确但相同。如上所述,旧版浏览器将支持background_color: transparent;

使用 background_color 不是问题,因为它在两个指标中普遍使用。 问题的问题在于透明 -vs- rgba 的分配。

透明 - 显然将背景设置为透明背景,没有颜色选项;另一种选择是以十六进制或其他可接受的颜色值指定的颜色分配,例如blue rgb(x,x,x) rgba(x,x,x,x) #xxxxxx hsl(x,x,x) hsla(x,x,x,x)等。

rgba(x,x,x,x) 然而,它不是一匹不同颜色的马,因为它更广泛,需要分解才能解释。首先,区别在于您要分配颜色并设置透明度,

设置的“rgb”部分代表红绿蓝,表示前3个零设置(0,0,255,X),每个0接受0到255之间的值。使用这三个值进行播放组合混合颜色设置以产生单一颜色。

(rgb a )中的“ a ”及其零设置(x,x,x, 0 )是ALPHA频道设置前三种组合颜色的不透明度/透明度( x,x,x ,?)。特别值得注意的是,最后一个零值(x,x,x, 0 )接受从 0.0 1.0 <的值范围/ strong>。 0.0设置完全透明,1.0为实体。因此,使用rgba(x,x,x,0.5)设置会产生一半透明度的给定颜色。

答案 2 :(得分:-3)

您想在React Native中使用透明背景,应用这段代码

backgroundColor: 'rgba(1,1,1,0.1)'