【发布时间】:2012-09-04 13:42:57
【问题描述】:
我在为 IE 8 添加不透明度时遇到了一些问题(我也希望这可以在 IE7 和 IE9 中使用,但我刚刚在 IE8 上进行了测试)。
我的 css 是这样的:
label{
color: #333;
text-decoration: none;
border: solid 1px #bebebe;
width: 138px;
padding: 5px;
text-align: center;
-webkit-box-shadow: 0 8px 6px -6px black;
-moz-box-shadow: 0 8px 6px -6px #333;
box-shadow: 0 8px 6px -6px #333;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
background: #f2f2f2;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#bdbdbd');
background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#bdbdbd));
background: -moz-linear-gradient(top, #f2f2f2, #bdbdbd);
display: inline-block;
margin-bottom: 10px;
position: relative;
outline: none;
}
所以我的所有标签在所有资源管理器中都必须相同(这没有问题),但我想为其中一些标签添加不透明度。我正在使用:
.aclass{
opacity:0.4;
filter:alpha(opacity=40);
}
但它不适用于 IE。我在这里读了一些文章,例如: Opacity CSS not working in IE8 , opacity in IE8 not working 和其他人,但我还没有找到解决方案。我试着添加这个:
.aclass{
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=40)";
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
opacity:0.4;
}
同时添加“zoom:1;”到前一个块或“显示:块;”但仍然无法正常工作。我还没有找到解决方案,所以如果有人可以帮助我,我将不胜感激。
提前致谢!
【问题讨论】:
-
猜测:你必须在一个语句中结合两个过滤器
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#bdbdbd') progid:DXImageTransform.Microsoft.Alpha(opacity=40); -
这项工作是否有效:quirksmode.org/css/opacity.html
-
我尝试像这样组合两个过滤器:
.aclass{ opacity:0.4; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=40)"; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f2f2f2', endColorstr='#bdbdbd') progid:DXImageTransform.Microsoft.Alpha(opacity=40); }但没有用。我也尝试了 Krycke 页面上的那些,但没有成功。
标签: css internet-explorer internet-explorer-8 filter opacity