CSS透明度之rgba和opacity的区别

html-css010

CSS透明度之rgba和opacity的区别,第1张

在CSS样式中,设置透明度的方式有两种。其一, opacity ;其二 rgba() 。

opacity 和 rgba() 在一定程度上是没什么区别。

1、opacity

取值在0到1之间,0表示完全透明,1表示完全不透明。

2、rgba

rgba语法:

rgba()和opacity都能实现透明效果,主要区别有以下2点:

比如,我们写透明的黑色部分都是用opcity(0.3),但这带出来一个问题就是如果你在这一div上写字的话,然后那个字体也会变成透明色。所以我们采取rgba的样式写,前面三个数字分别对应r,g,b,的三种颜色,第四位的数字对应的是透明的系数。

首先,用大家比较熟悉的CSS属性opacity来改变div的背景颜色。

描述:

外面大的div背景颜色为黄色,里面小的div的背景颜色为红色,现在我们需要设置大的div的背景颜色变成半透明状态,我们将opacity的属性值设为0.5,代码如下:

HTML部分:

1

2

3

我是内容

CSS部分:

1

2

3

4

5

6

7

8

9

10

11

.aa{

width: 250px

height: 250px

background: yellow

opacity: 0.5

}

.bb{

width: 150px

height: 150px

background: red

}

背景颜色的确变成了半透明,但是里面小div的背景以及文字都变成半透明了,这可能不是我们想要的效果,所以我们一般不使用这种方法。当然了,如果在页面布局时,你希望div里面所有的都变透明,就用opacity。

接下来我们用另一种方法,background-color:rgba(0,0,0,0~1),使用这个方法就只会设置div背景透明,而不会影响到div里的内容。

HTM部分一样,只需要将opacity换成rgba即可。

代码如下:

1

2

3

4

5

6

7

8

9

10

.aa{

width: 250px

height: 250px

background-color: rgba(255,255,0,0.5)

}

.bb{

width: 150px

height: 150px

background: red

}

大的div透明度改变以后,对里面的背景和文字都没有任何影响。所以我们一般用background-color:rgba(0,0,0,0~1)来设置背景颜色透明。

css中的Alpha:设置透明度\x0d\x0a\x0d\x0aAlpha(Opacity=?, FinishOpacity=?, Style=?, StartX=?, StartY=?, FinishX=?, FinishY=?)\x0d\x0a\x0d\x0aOpacity:透明度级别,范围是0-100,0代表完全透明,100代表完全不透明。\x0d\x0a\x0d\x0aFinishOpacity:设置渐变的透明效果时,用来指定结束时的透明度,范围也是0 到 100。\x0d\x0a\x0d\x0aStyle:设置渐变透明的样式,值为0代表统一形状、1代表线形、2代表放射状、3代表长方形。\x0d\x0a\x0d\x0aStartX和StartY:代表渐变透明效果的开始X和Y坐标。\x0d\x0a\x0d\x0aFinishX和FinishY:代表渐变透明效果结束X和Y 的坐标。