我已经超越了在CSS中使用标准颜色,通过声明orange
,blue
,aquamarine
等等,并且一直在使用rgb()
相同颜色分别为rgb(255,165,0)
,rgb(0,0,255)
和rgb(127,255,212)
(感谢ST3中的ColorHighlighter包)。
更改了引导程序.btn
的渐变后,我遇到了rgba()
。快速研究解释说a
代表alpha
,并且有一大堆整数数学归结为Catmull和Smith。也很容易发现alpha通道用于“alpha合成”,它通常可以作为“不透明度”关联。
color: salmon:.5;
)答案 0 :(得分:25)
RGB是一种3通道格式,包含红色,绿色和蓝色的数据。 RGBA是一种4通道格式,包含红色,绿色,蓝色和Alpha的数据。
除了使颜色透明/不透明(或部分透明;半透明)之外,Alpha通道没有用处。
在CSS中,在rgba()获得相同级别的支持之前,rgb()在几年内拥有广泛的浏览器支持。这是你在CSS中找到比rgba()更多的rgb()的一个原因。另一个原因是半透明不是你通常在任何地方使用的东西。
您可能会发现RGB值打包为16位,蓝色和红色为5位,绿色为6位(绿色获得更多位,因为眼睛更清楚地看到绿色阴影)。您可能还会发现RGBA值打包为16位,每种颜色为5位,alpha为1位。使用一位,您只能使颜色完全透明或根本不透明。
现在通常情况下,您会发现RGB和RGBA打包成32位值,每种颜色为8位,alpha为8位(RGB为左侧空白)。
在CSS中,设计人员决定使用红色,绿色和蓝色的值0-255(8位值的范围),但对于Alpha通道,它们使用介于0.0和1.0之间的值。颜色的实际字节格式与Web开发人员无关。
根据我的经验,在CSS中经常使用rgb()和rgba()。十六进制颜色占主导地位,并且比它们早几年了。
HSL实际上是一种更好的颜色处理格式,CSS支持(IE9 +,Firefox,Chrome,Safari和Opera 10 +。)。
答案 1 :(得分:2)
RGB 是标准的rgb颜色,你已经明白了这一点。
RGBa 是标准的rgb颜色,但也带有alpha / opacity。
除此之外没有任何差别,颜色仍然编码相同。
使用此和其他 CSS3 颜色样式的问题在于它并不总是受支持。 以下是a link我发现它可以告诉您哪些版本的浏览器支持它。
在 CSS 中声明 alpha 看起来像 rgba(0,0,0,.3),其中alpha是小数或从 1 到 0 的整数。 1是不透明的,0是完全透明的。
答案 2 :(得分:1)
rgb是标准的rgb值(红色,绿色,蓝色)
rgba是标准的rgb值(红色,绿色,蓝色+ Alpha(又名不透明度))
您将找不到任何颜色变化。 RGBA是css3颜色属性。
由于较旧的浏览器支持可能受限,您可能希望使用后备颜色:
CSS:
div {
background-color: rgb(200, 54, 54); /* The Fallback */
background-color: rgba(200, 54, 54, 0.5);
}