本例是一个兼容IE6/IE7/IE8和火狐浏览器的css实现半透明层效果,之前本人也遇到过这样的问题,就是把一个层设置半透明后,内的文字也跟着半透明了,一直没找到合适的解决办法,今天看到designcss.还有就是不支持IE8浏览器,经过研究,查阅大量资料,终于找到解决办法了,下面分享出来。org有一篇文章解决了这个问题,但有一点,发现在filter前边多加一个星号,多加个星号是为了让IE6和IE7执行,火狐和IE8就不执行了,火狐本身来讲就不支持IE特有的滤镜功能,所以这里没必要再加星号。
css用到的\9是css hack的写法,是为了兼容不同的浏览器而使用的
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8"
/>
<title>兼容ie6,ie7以及firefox的css透明滤镜,文字不继承其透明属性</title>
<style
type="text/css">
#container{ border:1px solid #c00;
background-color:rgba(212,0,0,0.5); background:#f00\9; filter:alpha(opacity=50);
width:500px; margin:40px auto; line-height:200%; font-size:14px;
padding:14px;}
#container *{
position:relative;}
</style>
</head>
<body>
<div
id="container">
<span>我是内容我是内容我是内容我是内容我</span>
</div>
</body>
</html>
以上方法要是还有有IE8浏览器出现问题,可考虑我使用过的方法:
.ui-comment-mask{
background-color: rgba(0, 0, 0, 0.3);
filter:progid:DXImageTransForm.Microsoft.gradient(startColorstr=#30000000,endColorstr=#30000000);_background-color:#333;
_filter: alpha(opacity=100); zoom: 1;}