在一些网站的登录页面上,经常可以发现,一张图片叠加在另一张图片上,底层的图片若隐若现,利用css中的透明属性opacity可以实现这种效果,下面就简单介绍一下怎么写代码
01新建一个HTML文件,下载两张图片,如下图,放在一个文件夹中,避免出现路径问题
02代码示例如下,主要利用css伪元素::before,F_box为前置层,浮于背景上方
03下面简单分解下代码,分为1,2,3,第一部分,设置背景图片001.jpg;第三部分,固定前置层图片002.jpg的位置;第二部分,利用伪元素::before,设置属性opacity来调节透明度,取值为0-1,0是全透明,即看不见的效果,1是全不透明
04代码示例中,设置opacity为0.5,半透明状态,实际页面效果如下
首先,用大家比较熟悉的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 rgba()设置颜色透明度RGBA 是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha(不透明度)三个单词的缩写。RGBA 颜色值是 RGB 颜色值的扩展,带有一个 alpha 通道 - 它规定了对象的不透明度。
rgba()里的值的介绍:
R:红色值。正整数 (0~255)
G:绿色值。正整数 (0~255)
B:蓝色值。正整数(0~255)
A:透明度。取值0~1之间
rgba()只是单纯的可以设置颜色透明度,这样在页面的布局中有很多应用。比如说:让背景出现透明效果,但上面的文字不透明。