css - 使用 "-ms-filter"属性时如何保持 PNG alpha 透明度

标签 css internet-explorer-8 internet-explorer-7 png opacity

我有以下 HTML:

<a><img src="myfile.png" /> Some text</a>

还有这个 CSS:

a:hover
{
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
    opacity: .75;
}

这个问题在 IE 8 和 IE 7 中都会出现。

当 PNG 图像受 -ms-filterfilter 影响时,其 alpha 透明度被破坏。尝试一下,您就会看到。这是 IE 8 和 IE 7 中的错误。

我可以删除 CSS 中应用的“-ms-opacity”和“filter”属性吗?这个的语法是什么? (例如,-ms-filter: "";)

有人知道解决此问题的方法吗?

最佳答案

只是美化 SpliFF 的答案,我可以通过将以下 jQuery 添加到我的页面来解决这个问题:

$(function() {
    if (jQuery.browser.msie)
        $('img[src$=".png"]').each(function() { // must have quotes around .png
            this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+this.src+",sizingMethod='scale')";
        });
});

这会将 AlphaImageLoader 应用于页面中的所有 PNG。

关于css - 使用 "-ms-filter"属性时如何保持 PNG alpha 透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1004973/

相关文章:

javascript - 关于使用 Node.js "proxy"服务器代理 CSS 和 JS 的建议

HTML CSS : Switch/Change background color of div, 单选按钮选择标签文本的颜色

html - IE() 中的固定宽度布局中断

javascript - "Can' t 在 IE8 中使用带原型(prototype)的 Javascript 从释放的脚本执行代码

css - IE7/8 中表行之间的空格

html - 条件 CSS 区分 IE6 到 IE7

css - 仅针对 CSS Mac 上的 Firefox

html - 使用最大宽度时图像不在 IE8 中居中?

javascript - IE7 - <button> 不提交表单

css - IE7以为是IE8?