1、CSS样式法:(将如下样式添加到透明PNG所在的层)
.divBox{
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='transparent_Image.png');
_background-image: none;
}
使用方法: <div class="divBox"></div>
2、JS 【指定PNG图片透明】
function fixPNG(myImage){var arVersion=navigator.appVersion.split("MSIE");var version=parseFloat(arVersion[1]);if((version>=5.5)&&(version<7)&&(document.body.filters)){var imgID=(myImage.id)?"id='"+myImage.id+"' ":"";var imgClass=(myImage.className)?"class='"+myImage.className+"' ":"";var imgTitle=(myImage.title)?"title='"+myImage.title+"' ":"title='"+myImage.alt+"' ";var imgStyle="display:inline-block;"+myImage.style.cssText;var strNewHTML="<span "+imgID+imgClass+imgTitle+" style=\"width:"+myImage.width+"px; height:"+myImage.height+"px;"+imgStyle+";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'"+myImage.src+"\', sizingMethod='scale');\"></span>";myImage.outerHTML=strNewHTML}}
使用方法: <img src="transparent_Image.pn" onload="fixPNG(this)" />
3、JS【页面中所有PNG透明】
var arVersion=navigator.appVersion.split("MSIE")var version=parseFloat(arVersion[1])if((version>=5.5)&&(document.body.filters)){for(var i=0;i<document.images.length;i++){var img=document.images[i]var imgName=img.src.toUpperCase()if(imgName.substring(imgName.length-3,imgName.length)=="PNG"){var imgID=(img.id)?"id='"+img.id+"' ":""var imgClass=(img.className)?"class='"+img.className+"' ":""var imgTitle=(img.title)?"title='"+img.title+"' ":"title='"+img.alt+"' "var imgStyle="display:inline-block;"+img.style.cssText if(img.align=="left")imgStyle="float:left;"+imgStyle if(img.align=="right")imgStyle="float:right;"+imgStyle if(img.parentElement.href)imgStyle="cursor:hand;"+imgStyle var strNewHTML="<span "+imgID+imgClass+imgTitle+" style=\"width:"+img.width+"px; height:"+img.height+"px;"+imgStyle+";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'"+img.src+"\', sizingMethod='scale');\"></span>"img.outerHTML=strNewHTML i=i-1}}}
使用方法: <!--[if lt IE 7]><script defer type="text/javascript" src="pngfix.js"></script><![endif]-->