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下为全透明。
时间: 2024-10-12 23:18:54