IE8中的不透明度不起作用 - CSS

时间:2012-09-11 15:14:05

标签: css internet-explorer internet-explorer-8 filter opacity

我在向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 IE8opacity 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;”到前一个块或“display:block;”但仍然没有工作。我还没有找到解决方案,所以如果有人能帮助我,我会非常感激。

提前致谢!

1 个答案:

答案 0 :(得分:0)

在渐变滤镜中,您可以定义#AARRGGBB而AA == alpha值。 来自MSDN。除了为渐变和alpha添加唯一过滤器之外,您可能会有更好的运气。