使用是否有任何主要优势:
background-color: rgba(0,0,0,0);
而不是:
background-color: transparent;
答案 0 :(得分:10)
行为完全相同,但transparent
is compatible also with IE8。
RGBA
更高级(但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)'