ie6中PNG不透明解决方案

发布于 2009-06-13 作者 [重庆SEO]

本文来自百度空间博客搬家

2007年开始使用的是 hi.baidu.com/udjy
后来百度空间强制升级为轻博客 hi.baidu.com/imnoco
2015年百度关闭了百度空间

做 前端是近期,网站一直是在IE7.IE8,OPERA,SAFARI,FIREFOX下测试完成的,DIV+CSS的时候碰巧又是使用的PNG图片,今天 把旁边的老笔记本拿来XPSP3,发现是IE6,打开网站一看,IE6下PNG透明部分的背景会变成蓝色,就像美女脸上的疤痕,一道道的,肯定影响用户体 验,跟着上网查资料找解决方案。

--------------下面这篇文章不错-------------------------

IE6 png 如果是8位的,可以透明,但8位的有毛边,跟gif就差不多了。
如果要用24位,则需要使用ie的滤镜解决。
看下面的例子:
一个纯JavaScript的:
http://www.cssrain.cn/demo/ie6png/Supersleight/demo.html
jQuery pngfix 插件实现的:
http://www.cssrain.cn/demo/ie6png/jQueryPNGfix/demo.html
看了上面2个例子,你也许知道它们还有2点没实现,那就是不支持CSS中backgrond-position与background-repeat。
当然国外已经有解决方案了,看下面例子:
http://www.cssrain.cn/demo/ie6png/DD_belatedPNG/demo.html
官方站点:http://dillerdesign.com/experiment/DD_belatedPNG/
他的原理就是利用微软的VML语言进行绘制,跟其它的利用AlphaImageLoader滤镜不同。
当然在实际项目中,可能会遇到问题,就是他会增加额外代码,比如在页面中增加了一些xml,
导致有的效果有点问题。 不过可以变通的解决。
利用XX的话来说:用好这个东西 需要有一点技巧。

切记:根据项目的实际使用程序,选择相应的脚本,避免带来额外麻烦。
打包下载:http://cssrain.cn/demo/ie6png/ie6png.rar