1、新建html文档,在body标签中添加一个img标签,这时默认情况下图片是不透明的:
2、在head标签中添加style标签,在style标签中为img标签设置透明度样式,其中三个属性是为了兼容不同浏览器:
3、刷新浏览器中的页面,这时可以发现浏览器中图片的透明度改变了,透明度的范围是0-1,0表示完全透明,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)来设置背景颜色透明。
ie6是不支持opacity这个属性的,如果一定要做透明背景,建议使用GIF格式的图片,把图片做成透明的,然后设为背景。PNG格式的图也能做成透明的,但在IE6中会有点问题,也可以使用JS代码 修正,但最好还是用GIF。