有关实现IE6中PNG图像的Alpha透明度的方法,网络上存在着好多种办法,今日搜索了一下,找到一篇日志总结的很不错--《IE6支持PNG透明(alpha通道)的4种方法》。
为了便于自己查看,这里我摘录到了我日志这里:
=====================================================
想特别说明一下,IE6与生俱来就支持png8的索引色透明度,但不支持png的 alpha 透明度。而我们一直要解决的是让IE6支持PNG的 alpha 透明度。下面我收集整理了4种方法,但都是以滤镜、Js、css 等作为基础模拟还原效果,虽然没有真正的解决alpha透明度问题,但也总算解决了燃眉之急。
- IE6支持png8透明:
IE6与生俱来就支持png8的索引色透明度,但不支持png或8位以上的 alpha 透明度。而对于非动画的GIF建议你使用PNG8,因为体积会更小
测试实例:http://blog.gulu77.com/demo/200809/test_IE6png8/
- AlphaImageLoader 筛选器
◦使用简介:在每个标签样式中插入 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’image.png’, sizingMethod=’scale’)
◦官方原文:http://support.microsoft.com/kb/294714/zh-cn
◦测试实例:http://blog.gulu77.com/demo/200809/test_AlphaImageLoader/ - PNG Transparency in IE
◦使用简介:相对来说比较简洁,使用一段包含滤镜的JavaScript 就可以模拟图片或背景 PNG alpha 透明度。
◦官方原文:http://codingforums.com/archive/index.php?t-80555.html
◦测试实例:http://blog.gulu77.com/demo/200809/test_PNGTransparncyinIE/ - IE PNG Fix v1.0 / 2.0 Alpha 2
◦使用简介:页面标签使用behavior:url(”iepngfix.htc”);来调用外部包含js、css的iepngfix.htc文件來修正PNG alpha 透明度。
◦官方原文:http://www.twinhelix.com/css/iepngfix/
◦测试实例:http://blog.gulu77.com/demo/200809/test_iepngfix/ - IE7/IE8 JavaScript library
◦使用简介:ie7/ie8-js是一个解决IE与W3C标准的冲突的JS库,使微软的IE的行为像一个Web标准兼容的浏览器,支持更多的W3C标准。
◦官方原文:http://code.google.com/p/ie7-js/
◦测试实例:http://blog.gulu77.com/demo/200809/test_ie7-js/
全部实例打包下载:http://blog.gulu77.com/demo/200809/test_png.rar
=====================================================
最后要补充一个,这个是最近在ajaxian上看到的,原文地址:http://ajaxian.com/archives/png-support-in-ie6-that-reclaims-background-repetition-and-position。该文推荐的是使用一个叫DD_belatedPNG的JS脚本来实现PNG的alpha透明度,与其它实现方式相比,该组件实现了背景图片中对background-repeat和background-position的支持,此外还有一些比较特别的功能,有兴趣的可以到官网去看看。
网名:网者归来[yemoo],专注前端开发,关注互联网发展,目前就职于上海。