如何解决/破解 IE8 中半透明 PNG 褪色问题?

2023-11-21

如您所知,IE6 有一个 bug,如果不使用滤镜等非标准样式,就无法显示半透明 PNG 文件。在 IE7 中,此问题已得到修复。但它仍然存在一些关于 PNG 文件的错误。它无法正确显示褪色的半透明 PNG 文件。当您在 jQuery 中使用半透明 PNG 文件的显示/隐藏功能时,您可以清楚地看到它。图像的背景以不透明的黑色显示。

您有任何想法使用 jQuery 来解决这个问题吗?

Update

让我们看看我的测试

替代文本http://rabu4g.bay.livefilestore.com/y1pGVXLwPdkxudYLmIdnMpWTP_9up-8isxbPKX945Ui4ITnYWnR0msaa2NmUF-qJ-Q4a2AAGaiGHwaFSgR1HeplDIO0bWbyRODI/bug.png

如您所见,IE8 总是错误地显示 PNG-24 图像。此外,仅当我淡入淡出(jQuery.fadeOut 函数)时,IE8 仍然可以正确显示 PNG-8 图像。但是当我同时淡入淡出和调整大小(jQuery.hide 函数)时,它会错误地显示 PNG-8 图像。

附言。您可以从以下位置下载我的测试源代码here.

Thanks,


嘿,我不知道你是否还在寻找答案。几天前,我在使用 PNG 图像制作 div 动画时遇到了同样的问题。我尝试了很多解决方案,唯一有效的解决方案是我自己编写的解决方案。

问题似乎是 IE 缺乏不透明度支持和适当的 PNG 支持,因此在应用不透明效果后它会破坏 PNG 显示(我相信动画框架依赖于专有的 MSIE 过滤器“AlphaImageLoader”来实现 IE 上的不透明度效果)。奇怪的是(对我来说仍然不太明白)是这个问题可以使用相同的过滤器在动画之前加载图像来解决。

我编写了一个简单的 JavaScript,将过滤器应用于每个扩展名为 .PNG 的图像。我的动画在 IE 上运行得很好。

我复制下面的代码。我与框架无关(它是纯 JavaScript),但您必须将其放入框架的 DOM 就绪事件中(或使用 domready.js,就像我一样)。

var i;
for (i in document.images) {
    if (document.images[i].src) {
        var imgSrc = document.images[i].src;
        if (imgSrc.substr(imgSrc.length-4) === '.png' || imgSrc.substr(imgSrc.length-4) === '.PNG') {
            document.images[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + imgSrc + "')";
        }
    }
}

请告诉我是否适合您以及动画是否运行顺利。 亲切的问候!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决/破解 IE8 中半透明 PNG 褪色问题? 的相关文章

随机推荐

  • 遍历并修改dict结构的树状列表

    我有一个如下所示的结构 id 4 children None id 2 children id 1 children id 6 children None id 5 children None id 7 children id 3 chil
  • 拳击会导致性能问题吗?

    我正在开发一个项目 其中我们正在生成一种编译为 java 的语言 我们使用的框架 xtext 在其生成的代码中大量使用了装箱 具体来说 如果您有如下声明 int i 1 int j 2 int k i j 然后编译后的代码如下所示 Inte
  • ESLint:创建下一个应用程序时选项无效

    我正在创建一个新的 Next js 应用程序 当我跑步时yarn create next app我开始在 Visual Studio Code 中编写 javascript 代码 每次我输入数字时 ESlint 扩展都会返回一个错误 当然
  • 如何在 Grails 中更新外部配置文件而不重建 war 文件

    如何更新外部配置文件 例如 config ex groovy config ex properties 而不在 Grails 中重建 war 文件 重新启动应用程序服务器将应用外部配置文件中的新更新 如果我理解得很好的话 你想在战争之外外部
  • 反向 Java Graphics2D 缩放和旋转坐标

    我使用Java中的Graphics2D来缩放和旋转我绘制的图片 我现在希望能够在单击图片中的某个点时知道原始坐标是什么 因此 鉴于旋转和缩放的坐标 我想计算原始坐标 有没有一种简单的方法可以做到这一点 如果您保留一份副本AffineTran
  • Python 中 module.__init__() 最多接受 2 个参数错误

    我有 3 个文件 factory imagenet py imdb py 和 imagenet py factory imagenet py 有 import datasets imagenet 它还有一个函数调用为 datasets im
  • maven命令中-D表示什么?

    谁能解释一下 D 在 maven 命令中表示什么 mvn clean install DskipTests 您定义了一个可由Maven 插件 or 在 pom 内部使用 gt mvn help usage mvn options Optio
  • 为什么 `cat <(cat)` 会产生 EIO?

    我有一个程序可以同时读取两个输入文件 我想让这个程序从标准输入读取 我想我会用这样的东西 program1 lt cat lt program2 但我刚刚发现 cat lt cat produces mmap2 NULL 139264 PR
  • 通过 Heroku 上托管的 Rails 上传和解压缩文件到 S3?

    我希望能够将包含许多图像的 zip 文件上传到我的 Rails 应用程序 然后我希望 Rails 解压该文件并将其中的图像附加到我的照片模型中回形针 以便它们最终存储在我的 Amazon S3 帐户中 通过 Paperclip 配置 我想在
  • 从 Twitter 抓取用户位置

    我正在尝试从 Twitter 中获取用户名的纬度和经度 用户名列表是一个 csv 文件 一个输入文件中包含 50 多个名称 以下是我迄今为止所做的两次尝试 他们似乎都没有工作 欢迎对任何一个程序进行更正或采用全新的方法 我有清单User n
  • CoWaitForMultipleHandles API 的行为与文档不符

    这是由另一个问题我正在看着 阅读起来可能会有点长 请耐心等待 显然 CoWaitForMultipleHandles does not按照 MSDN 上记录的方式进行操作 下面的代码 基于原始问题 是一个控制台应用程序 它使用测试 Win3
  • Spring Boot RSocketRequester 处理服务器重启

    我有一个关于 Springs RSocketRequester 的问题 我有一个 rsocket 服务器和客户端 客户端连接到该服务器并请求 MessageMapping端点 它按预期工作 但是如果我重新启动服务器怎么办 如何从客户端自动重
  • 保持 GPS 服务正常运行并优化电池寿命

    我必须构建一个应用程序 其中 GPS 跟踪器运行大约一天 我知道 SO 中有类似的问题 但我还没有找到一些问题的答案 我需要每 10 分钟修复一次 GPS 所以我认为最好的方法是启动定位服务 进行修复 或超时 并停止服务 使用removeU
  • iOS (iPad) 上的 iframe 内容裁剪问题

    我正在寻找correct确保在 ipad iOS5 上的 iframe 中滚动后动态显示的内容可见的方法 哦 Iframe 和 iPad 你真是个了不起的老栗子 我知道 iPad 将 iframe 扩展到其内容的整个高度 几乎就像使用 HT
  • 使用 AFNetworking 2.0 上传图像

    我不明白为什么这这么难 网上所有的教程和文章似乎都在谈论 1 0 api 这是相当无用的 我尝试了几种不同的方法并得到了不同的结果 我究竟做错了什么 上传任务 这似乎没有使用多部分表单 wtf NSMutableURLRequest req
  • 在 Swift/iOS 中的应用程序之间共享文件数据[重复]

    这个问题在这里已经有答案了 我一直在研究如何在应用程序之间安全地共享数据 在我深入研究使用错误方法的实现之前 我想获得一些有关处理此问题的正确方法的信息 仅仅因为你可以做某事并不一定意味着你应该做某事 用户案例 我正在开发一套语言学习应用程
  • PHP error_reporting(0) 是否影响错误日志记录,或仅影响显示?

    Does error reporting 0 对错误记录 到文件 有任何影响 还是只是抑制屏幕上的错误显示 Thanks 是的 它对两者都有影响 error reporting 级别定义了错误的级别触发的 是否记录或显示这些错误由其他设置决
  • HTML5 视频 // 完全隐藏控件

    如何才能完全隐藏 HTML5 视频控件
  • 使用 vlookup 或索引/匹配函数对多行中的值求和

    我想使用公式对 B C 和 D 列中的值求和 我尝试结合SUMIF VLOOKUP and INDEX with MATCH但没有运气 我想查找 France 然后添加 B C 和 D 中的值 我努力了 SUM VLOOKUP A9 A1
  • 如何解决/破解 IE8 中半透明 PNG 褪色问题?

    如您所知 IE6 有一个 bug 如果不使用滤镜等非标准样式 就无法显示半透明 PNG 文件 在 IE7 中 此问题已得到修复 但它仍然存在一些关于 PNG 文件的错误 它无法正确显示褪色的半透明 PNG 文件 当您在 jQuery 中使用