不透明度与通过alpha通道(rgba)之间有什么区别?

时间:2013-01-10 05:41:27

标签: css3 opacity rgba

div { background-color: rgb(255,0,0); opacity: 1; }

div { background-color: rgba(255,0,0,1); }

以上两者有什么区别?

3 个答案:

答案 0 :(得分:14)

不透明度设置元素及其所有子元素的不透明度值; 而RGBA仅为单个声明设置不透明度值。

这里有很好的解释。 http://www.css3.info/introduction-opacity-rgba/

答案 1 :(得分:5)

不透明度不透明度属性设置元素的不透明度级别。(设置元素的不透明度会使整个元素透明,包括其内容。)

定义不透明度

element{opacity:0.5} //makes the element and it's content 50% transparent
  

不透明度级别描述透明度级别,其中1不是   完全透明,0.5是50%透视,0是完全透明   透明的。

Alpha通道 RGBA颜色值是带有Alpha通道的RGB颜色值的扩展 - 指定对象的不透明度。 Background : rgba (Red,Green,Blue,Opacity)(设置元素的rgba只会使元素背景透明,保留其内容。)

定义背景rgba:背景

element{
   background:rgba(40, 41, 42, 0.5);
}
  

RGBA颜色值指定为:rgba(红色,绿色,蓝色,alpha)。 alpha参数是介于0.0(完全透明)和1.0(完全不透明)之间的数字。

将颜色的十六进制值转换为rgb:Here

更多信息:

  

IE9 +,Firefox 3 +,Chrome,Safari和Opera 10+支持RGBA颜色值。

答案 2 :(得分:2)

当您使用alpha时,您只为div的特定属性设置不透明度。因此,如果将alpha值设置为.5

,则只有背景会略微透明

但是,当您将不透明度设置为.5时,无论div中的alpha值元素如何,整个div及其中的所有内容都将保持略微透明。

在不透明度设置为.5的div中,元素将位于最大值" .5"不透明(当其alpha值设置为1时)。如果它的alpha值设置为.5,透明效果会复合,它实际上就像" .25"透明。不确定具体数字。