png在IE6中透明 官方解决方案

作者: jaclon 分类: CSS, JS 发布时间: 2011-04-29 08:56 ė 61条评论

png在IE6中没有办法透明,微软给出了官方解决方案,只要在页面中加入如下代码即可:

 /* 
Correctly handle PNG transparency in Win IE 5.5 & 6.
Copyright 2007 Ignia, LLC
Based in part on code from from http://homepage.ntlworld.com/bobosola.

Use in <HEAD> with DEFER keyword wrapped in conditional comments:
<!--[if lt IE 7]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->

*/

function fixPng() {
 var arVersion = navigator.appVersion.split("MSIE")
 var version = parseFloat(arVersion[1])

 if ((version >= 5.5 && version < 7.0) && (document.body.filters)) {
 for(var i=0; i<document.images.length; i++) {
 var img = document.images[i];
 var imgName = img.src.toUpperCase();
 if (imgName.indexOf(".PNG") > 0) {
 var width = img.width;
 var height = img.height;
 var sizingMethod = (img.className.toLowerCase().indexOf("scale") >= 0)? "scale" : "image"; 
 img.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src.replace('%23', '%2523').replace("'", "%27") + "', sizingMethod='" + sizingMethod + "')";
 img.src = "images/blank.gif";
 img.width = width;
 img.height = height;
 }
 }
 }
 }

fixPng();

注意上面的代码中用到了一张空白图片,使用的时候不要忘记修改图片路径

下载完整DEMO

本文出自 肥蕉博客@IT技术,热门话题,生活随笔,美图欣赏,转载时请注明出处及相应链接。

本文永久链接: http://www.bananawolf.com/html/2011/04/442.html

一条评论

  1. satsun 四月 29, 2011 10:08 下午 回复

    等待你的链接了

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部