首页 > 代码库 > 关于IE6的PNG图像透明使用AlphaImageLoader的缺点

关于IE6的PNG图像透明使用AlphaImageLoader的缺点

PNG32的alpha透明效果在IE6下会出现bug,出现灰色背景。而目前的解决方案就是

IE提供的滤镜。需要注意的是滤镜并不是对原图片进行修改,而是对相应的html元素进行

修改。所以在一个html中的多处使用alpha滤镜,那么性能的损耗将会累加。

现总结使用滤镜的缺点:

  1,IE6下使用滤镜,那么无法对改PNG图片进行定位。可以通过其他解决方案完成。这篇

文章提到了两种解决方案,分别是硬编码和clip方案。

  2,使用滤镜会冻结IE6的渐进渲染。渲染往往是从css下载完毕开始进行,然而对于使用滤镜

图片而言,渲染得从该图片下载完成才开始。当页面有多个图片使用了透明PNG(对于IE6),那么

滤镜的处理是叠加的,得等到所有PNG图片下载完成之后才能开始渲染,在此之前呈现给我们的将是

空白页面。

  3,内存占用大,主要用于处理和应用滤镜。

 

可以使用PNG8图片进行渐进增强。PNG8支持alpha通道,而且PNG8的半透明像素会在IE6下显示为

完全透明。这就提供了向下兼容的方案。在IE7及其以上的浏览器显示alpha透明度,而在IE6下为全透明。

关于IE6的PNG图像透明使用AlphaImageLoader的缺点