css 设置元素背景为透明

要设置某一元素的背景为透明,在 chrome 、firefox、opera 下是这样的:
background-color: rgba(0, 0, 0, 0.4);  


rgba 中的最后一个参数 0.4 就是想要的透明度,范围在0~1之间。
在 ie 中一般是这样的:

background-color: rgb(0, 0, 0);
filter: alpha(opacity=40);


opacity 表示透明度,它的值范围在 0~100 之间

那么如何兼容各浏览器呢?只要把它们写在一起就行了。
由于 ie 不支持 rgba,所以会忽略之。其他浏览器对于自己不支持的,一般也会忽略。
下面来个示例:
HTML 代码:

<body>
<div class="non-transparent">
aaaaa
</div>
</body>

<div class="transparent">
<div class="box">
box
</div>
</div>


CSS 代码:

.non-transparent:hover {
background-color: yellow;
}

.transparent {
position: absolute;
top: 0;
left: 0;

text-align: center;

width: 100%;
height: 100%;

filter: alpha(opacity=40);
background-color: rgb(0, 0, 0);

background-color: rgba(0, 0, 0, 0.4);
}

.box {
background-color: yellow;
width: 50%;
height: 50%;

position: relative;
left: 5%;
top: 10%;
}


显示效果:

chrome:
[img]http://dl.iteye.com/upload/attachment/0072/7766/bcc218d0-b151-31c0-93da-764a969dc484.png[/img]
firefox:
[img]http://dl.iteye.com/upload/attachment/0072/7768/cff7f73d-ce54-321f-9e9b-f7524d02fe04.png[/img]
opera:
[img]http://dl.iteye.com/upload/attachment/0072/7770/3def8168-c533-3dc9-b223-de3220d772d5.png[/img]
ie8:
[img]http://dl.iteye.com/upload/attachment/0072/7772/56b4433d-16b7-3bc4-8b92-1e491f4b3871.png[/img]

另外,在 chrome、firefox、opera 中也可以这样:
opacity: 0.4;
但是这样的话,会把所有子元素的透明度也设置为同样的值,效果如下图:
[img]http://dl.iteye.com/upload/attachment/0072/7774/9778350a-510a-37ad-ba85-3d1028139c86.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值