下面是一段利用纯CSS代码来控制HTML元素的透明度,IE浏览器使用滤镜(filter)来实现透明度控制,而Firefox、Safair等通过自定义的属性来实现。如下:
/* IE滤镜,透明度50% */
filter:alpha(opacity=50);
/* Firefox私有,透明度50% */
-moz-opacity:0.5;
/* 支持Safair1.X版本 */
-khtml-opacity: 0.5;
/* 其他,透明度50% */
opacity:0.5;上面的几个属性分别是:
opacity: 0.5; 这是最重要的,因为它是CSS标准.该属性支持Firefox, Safari和 Opera.
filter:alpha(opacity=50); 这个是为IE6设的,可取值在0-100,其它三个0到1.
-moz-opacity:0.5; 这个是为了支持一些老版本的Mozilla浏览器。
-khtml-opacity: 0.5; 这个为了支持一些老版本的Safari浏览器。
实例代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>CSS控制透明度</title>
<meta http-equiv="content-type" content="text/html;charset=gbk" />
<meta name="Keywords" content="CSS,透明度" />
<meta name="Description" content="CSS控制透明度" />
<style type="text/css">
div.outcontainer {
height: 200px;
line-height: 20px;
width: 300px;
margin: 20px;
border: 1px solid #F0F0F0;
background: #F8F8F8;
padding: 10px;
position: relative;
}
div.outcontainer div.opacity {
height: 100px;
width: 150px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -75px;
margin-top: -50px;
background: #000;
/*透明度设置*/
filter: alpha(opacity=50);
-moz-opacity: 0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
</style>
</head>
<body>
<div class="outcontainer">
利用CSS控制透明度不是很麻烦,如下:<br/><br/> /* IE滤镜,透明度50% */<br/> filter:alpha(opacity=50);
<br/><br/> /* Firefox私有,透明度50% */<br/> -moz-opacity:0.5;
<br/><br/> /* 其他,透明度50% */<br/> opacity:0.5;
<br/>
<div class="opacity"></div>
</div>
</body>
</html>效果图:

但是还是会有很多问题,浏览器兼容性问题等等,而且IE滤镜的频繁使用会使浏览器的执行效率降低。 所以不提倡过多使用滤镜,你也还有其他方法可以模拟,比如用宽高都是1px的透明png图片覆盖等等。