IE8中的不透明度无法正常工作

时间:2012-04-24 10:32:05

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

我为叠加层设置了不透明度,这在FF,Chrome,Safari和IE9中运行良好,但在IE8中却没有。我用Google搜索了很多,但没有找到任何解决方案。

我的css代码是

#overlayEffectDiv { 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    width: 100%;
    height: 100%;
    filter: alpha(opacity = 50);
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    opacity: 0.50;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3000;
    /* hide it by default */
    display: none;
}

在FF中,它看起来如下:

enter image description here

但在IE8中,它看起来如下:

enter image description here

4 个答案:

答案 0 :(得分:2)

找到解决方案here。不透明度不是我做了一些调试的问题,发现它对ie8工作正常问题是jquery fadeIn和fadeOut。 jQuery fadeIn让半透明的背景变得坚固。

感谢所有帮助过的人。

答案 1 :(得分:0)

我认为过滤器的语法不正确:

http://blogs.msdn.com/b/ie/archive/2009/02/19/the-css-corner-using-filters-in-ie8.aspx

这可能不是导致问题的原因,但可能值得将其排除在外。

答案 2 :(得分:0)

您可能也定义了zoom。写得像这样:

#overlayEffectDiv { 
    width: 100%;
    height: 100%;
    filter: alpha(opacity = 50);
    opacity: 0.50;
    *zoom:1;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3000;
    display: none;
}

答案 3 :(得分:0)

如果涉及图层的某些动画效果出现问题,则可以避免在IE中使用filter,而是将其用作重复背景的小(不太小,如2x2,使用例如100x100)透明png文件,背景为黑色,不透明度为~80%