png图片(有含有透明)在IE6中为什么不透明了

png-8模式的图片,如果没有渐变的话是透明的,如果有渐变就不透明了。需要js的支持。

 

  
    
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
var arVersion = navigator.appVersion.split( " MSIE " )
var version = parseFloat(arVersion[ 1 ])
if ((version >= 5.5 ) && (document.body.filters)) {
for ( var j = 0 ; j < document.images.length; j ++ ) {
var img = document.images[j]
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
j
= j - 1
}
}
}
}
window.attachEvent(
" onload " , correctPNG);

 

 

 

你可能感兴趣的:(ie6)