您的位置:首页 > Web前端 > CSS

css ie6 png透明背景之js解决方案

2012-02-23 17:36 489 查看
IE6不支持png透明背景



解决方式:

给window.onload添加以下两个函数:

function correctPNG(){
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;
}
}
}
function alphaBackgrounds(){
if(document.all){
for(var i=0;i<document.all.length;i++){
var bg=document.all[i].currentStyle.backgroundImage;
if(bg){
if(bg.match(/.png/i)!=null){
var mypng=bg.substring(5,bg.length-2);  //bg格式为url("XXX")
document.all[i].style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+mypng+"',sizingMethod='crop')";
document.all[i].style.backgroundImage="url('')";
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: