png图片透明在ie6中显示问题

png图片透明在ie6浏览器显示存在问题

 

解决办法如下:

第一种情况:背景图片 

<link href="style.css" rel="stylesheet" type="text/css" />
<!--[if IE 6]>
<link href="ie6.css" rel="stylesheet" type="text/css" />
<![endif]
-->

 

style.css

.pngfix {
        width
: 100px;
        height
: 60px;
        background
: url(logo.png) no-repeat;  
}

ie6.css

html .pngfix {
        background
: none; 
        width
: 100px;
        height
: 60px;
        filter
:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='logo.png');
}

调用的时候

<div class="pngfix"></div>


 第二种情况:图片

在head加上这个js

<!--[if IE 6]>
<script type="text/javascript" src="pngfix.js"></script>
<![endif]
-->


pngfix.js

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

function fixPNG(myImage) 
{
    
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="logo.png" width="100" height="60" alt="logo" onload="fixPNG(this)" />


posted @ 2010-04-09 13:20  独行客  阅读(255)  评论(0编辑  收藏  举报