Html 为什么internet explorer会更改此png文件?
我建立了一个网站,我有一个png文件,它是一个带边框的图像,带有阴影阴影,在firefox和chrome中看起来很好,阴影很微妙,很干净(就像在photoshop中一样) 但当我在Internet explorer(6、7或8)中查看时,它显示如下: 阴影显示为全黑(无褪色)且不连续 同样,这只是html页面中的纯图像(不是javascript阴影脚本或CSS)Html 为什么internet explorer会更改此png文件?,html,internet-explorer,png,Html,Internet Explorer,Png,我建立了一个网站,我有一个png文件,它是一个带边框的图像,带有阴影阴影,在firefox和chrome中看起来很好,阴影很微妙,很干净(就像在photoshop中一样) 但当我在Internet explorer(6、7或8)中查看时,它显示如下: 阴影显示为全黑(无褪色)且不连续 同样,这只是html页面中的纯图像(不是javascript阴影脚本或CSS) 有人对为什么png图像在Internet Explorer上显示不同有什么建议吗。IE版本6、7、8不完全支持.png文件透明,这
有人对为什么png图像在Internet Explorer上显示不同有什么建议吗。IE版本6、7、8不完全支持.png文件透明,这是一个已知的错误。我相信IE9解决了这个问题 一个很好的解决方法是使用AlphaImageLoader过滤器,该过滤器适用于所有版本的IE。 支持文档和我过去成功使用的示例:
另一个解决方法是将.png转换为透明的.gif文件。您是否有可能通过
标记重新缩放图像?如果是,您可以添加
img {
-ms-interpolation-mode: bicubic;
}
强制IE在图像上使用双三次插值。这可能会解决问题。我通过以下几点解决了这个问题:
img {
background: transparent;
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)"; /* IE8 */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); /* IE6 & 7 */
zoom: 1;
}
$(function () {
$('#s1').cycle({ fx: 'fade', speed: 1500, cleartype: false, timeout: 4500 });
});
我至少知道IE6,它不会呈现PNG透明。没有在其他地方测试过。谷歌
ie PNG补丁
,或仅适用于IE6,IE7带来了24位alpha trasnparent PNG支持。IE7/8支持IE7/8,但直到IE9才完全解决该问题。IE7/8仍然存在不透明度渲染问题,以及在.png文件中正确渲染渐变的问题。