即使启动了hasLayout,CSS Opacity也无法在IE7或IE8中运行

时间:2012-01-04 21:52:58

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

我的幻灯片显示悬停时弹出的叠加层,您可以查看here。只需将鼠标悬停在“精选”部分下方的任何图片上即可。适用于FF,Webkit,IE9。我为IE9制作了一个单独的样式表,在其中我已经声明了宽度,高度,缩放,定位,使用了IE中的所有过滤器....我在IE7或IE8中都没有得到不透明度。带有类覆盖的div附加了JQuery,这是一个问题吗?这是我的css:

.overlay {
background-color:#fff;
 filter:alpha(opacity=60);
 -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=65);
 zoom:1;
 width:160px;
 height:20px;
 z-index:50;
 position:absolute;
 bottom:0;
 }

1 个答案:

答案 0 :(得分:2)

您的淡化例程正在添加内联样式,导致progid:DXImageTransform.Microsoft.Alpha(Opacity=60)覆盖您的CSS中的filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=65)。淡入淡出例程通常采用内联样式,但您需要确保它在您想要的位置结束(具有65%的不透明度)或者在淡入淡出后消失以便使用css(在Firefox中)它似乎是内联淡化,然后一旦完成就删除内联,以便拾取样式表不透明度。)

编辑(添加了关于使用jquery淡出的评论的信息):如果您使用的是.fadeIn(),请尝试使用.fadeTo(400, 0.65)(请参阅http://api.jquery.com/fadeTo),400是默认的持续时间.fadeIn(),所以你可以改变它,第二个数字是最终的不透明度设置