DD_belatedPNG解决IE6下PNG图片不透明最好方案

IE6下PNG图片不透明的解决方案以前也总结过,公司用的pngbug.js文件也可以解决,不过今天机构典藏的那个头部png图片整的我无语了,利用排斥发一点一点的删还是找不到原因,html页面正常,jsp页面不正常,后来发现是pngbug.js文件在系统中被引用的方法有问题,前几天听zc说过一次,不过改了路径,图片居然不见了,正的不知道是页面问题还是pngbug.js的问题,足足整了一个上午,崩溃了.

最后决定把pngbug.js改成DD_belatedPNG方法,DD_belatedPNG在新的课程中心系统用到过,当时因为滤镜透明法放在.css文件中必须用图片的绝对路径而放弃,终于在网上找到了老外这个方法,感觉很强大,虽然没有看懂,但DD_belatedPNG使用非常简单,压缩文件只有7kb,DD_belatedPNG除了支持png图片透明,png作背景透明外,还支持backgrond-position,background-repeat与a:hover属性.

原文地址:DD_belatedPNG     DD_belatedPNG下载地址

下面分析下DD_belatedPNG的原理和使用方法
原理
DD_belatedPNG这个js插件使用了微软的VML语言进行绘制,而其他多数解决PNG问题的js插件用的是AlphaImageLoader滤镜.
使用方法
1.下载DD_belatedPNG放在本地;
2.在页面头部引用,如下:


<!--[if IE 6]>
<script src="DD_belatedPNG.js"></script>
<script>
  /* 示例 */
  DD_belatedPNG.fix('.png_bg');
  
 /* 字符串参数可以是任何css选择器 */
 /* .png_bg是需要透明的选择器,多个选择器用英文逗号隔开,都是在引号里面 */
 /* 多个实例fix('.example1, #example2, img, .example3 h3, a:hover'); */
</script>
<![endif]-->

其他方案
在这里还是提供其他方案供大家参考.尽管我觉得DD_belatedPNG最好
1.Unit PNG Fix
2.ie7-js
3.IE PNG Fix

Tags: , ,