css设置背景半透明

html-css016

css设置背景半透明,第1张

首先,用大家比较熟悉的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)来设置背景颜色透明。

1.css3新增的一个属性rgba,语法

R:红色值。正整数 | 百分数

G:绿色值。正整数 | 百分数

B:蓝色值。正整数| 百分数

A:透明度。取值0~1之间

2.设置透明度是不会被继承的,所以不用头疼继承的问题.字体透明度便设置成color:rgba(0,0,0,0.5)边框:border:5px solid rgba(0,0,0,0.5)或者背景都可以。

3.兼容性。支持ie9及以上的浏览器

4.css2中opacity制作背景色通常用到,可是要用他来制作边框色或都说前景色的话,那他就有心无力了。

5.二者区别opacity后代元素会随着一起具有透明性,所以我们Opacity中的字随着透明值下降越来越看不清楚。但是rgba不存在这种问题。

6.比如做一个背景的透明度,那么

<style>

.div{background:rgba(0,0,0,0.5)width:100pxheight:100pxcolor:red}

.div1{background:#000width:100pxheight:100pxcolor:rgba(255,255,255,0.5)}

</style>

<div class="div">

    我是文字

</div>

<div class="div1">

    我是变透明的文字

</div>

文字不会被影响的。

7.如果需要设置字体的透明度,可以对color的rgba属性进行设置。