JavaScript 不透明度 Internet Explorer 中的抗锯齿错误

标签 javascript jquery internet-explorer animation opacity

我在使用 Internet Explorer 制作的 JavaScript 动画时遇到了一个恼人的错误。 我有一张城市天际线的灰度图像,它的不透明度逐渐变为 0,从而显示出全彩的天际线。

它在所有其他浏览器中看起来都很棒,但 IE 会显示伪影。一位 friend 告诉我,这是因为 IE 中使用 javascript 动画不透明度时出现了一些奇怪的错误。与抗锯齿和假定的黑色背景有关吗?我真的不知道。

最佳答案

alpha过滤器(jQuery 在不支持 CSS opacity 的 IE 上用作后备)不能与具有 Alpha channel 的图像共存,例如 PNG 上的可变透明度。它迫使形状边缘的部分透明黑色像素完全不透明,从而导致伪影。

将 alpha 滤镜放在 <div> 上可以获得更好的结果包含半透明图像。 (如果您需要 IE6 支持,则还需要对图像本身进行 PNG 修复。)这仍然不太正确,因为每个像素的不透明度被视为图像不透明度和滤镜不透明度的最小值,而不是两个相乘。但它通常看起来仍然不错,并且不会引入您在这里遇到的过于不透明的问题。

关于JavaScript 不透明度 Internet Explorer 中的抗锯齿错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885231/

相关文章:

javascript - PHP中通过http请求获取上传进度

javascript - 获取所有选中的单选按钮值的总和并返回总计

javascript - 使用 ID/Class 创建通用 keydown 函数

javascript - 如何创建一个没有绝对位置的简单 jQuery 图像 slider

internet-explorer - 在 Internet Explorer 中修改请求 header

internet-explorer - Internet Explorer 11 是否支持边框图像?

javascript - ng-class 中的字符串前缀

javascript - 多个 Onclick 事件 - 2 个事件中的 1 个正在运行

jquery - 为什么我的 jQuery 小部件过大?

html - 用于 IE 中图像 mask 的 SVG