CSS过滤器 - 有时工作,有时不工作?

时间:2010-03-13 04:31:32

标签: css internet-explorer filter

我快要把头发拉过来了。

这里我有一块功能完善的CSS:

#admin .block.mode.off
{
    opacity: 0.25;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=25)";
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25);
}

与此同时...... Internet Explorer 8对我的过滤器声明并不在意:

#admin .drop .tabs
{
    margin-bottom: 12px;
}
#admin .drop .tab
{
    margin-right: 4px;
}
#admin .drop .tab.off
{
    cursor: pointer;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
}
#admin .drop .tab.off:hover
{
    text-shadow: 0px 0px 4px #fff;
}
#admin .drop .tab.on
{
    cursor: default;
    text-shadow: 0px 0px 4px #fff;
    -ms-filter: "progid:DXImageTransform.Microsoft.Glow(color=#fff, strength=4)";
    filter: progid:DXImageTransform.Microsoft.Glow(color=#fff, strength=4);
}

我的文档在IE8标准中显示,我假设开发人员工具是金枪鱼的负载,因为功能块在其CSS选项卡中显示为:

filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25); opacity: 0.25

有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

根据this answer,您应该尝试提供#admin .drop .tab hasLayout。我通常使用zoom:1 执行此操作,但看起来IE8不再允许触发hasLayout,我们应该使用height:1%(或any height declaration other than auto )。