首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

到底如何解决ie6的png图片失效有关问题?网上的方法都没什么用。

2013-06-26 
到底怎么解决ie6的png图片失效问题?网上的方法都没什么用。。。到底怎么解决ie6的png图片失效问题?网上的方法

到底怎么解决ie6的png图片失效问题?网上的方法都没什么用。。。
到底怎么解决ie6的png图片失效问题?网上的方法都没什么用。。。
[解决办法]
处理png有两种,一种是针对背景,一种是针对图片,用js+css的滤镜处理,缺点,图片不能居中
function enableAlphaImages() {
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
    if (itsAllGood) {
        for (var i = 0; i < document.all.length; i++) {
            var obj = document.all[i];
            var bg = obj.currentStyle.backgroundImage;
            var img = document.images[i];
            if (bg && (bg.match(/\.png/i) != null 
[解决办法]
 bg.match(/\.axd/i) != null) && (bg.match(/\icon/i) != null 
[解决办法]
 bg.match(/\logo/i) != null)) {

                var img = bg.substring(5, bg.length - 2);
                //var offset = obj.style["background-position"];
                obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img + "', sizingMethod='crop')";
                obj.style.backgroundImage = "url('/Scripts/spacer.gif')"; //替换透明PNG的图片
                //obj.style["background-position"] = "5px 5px"; // reapply
//obj.style.marginTop="5px";


            } else if (img && img.src.match(/\.png$/i) != null) {
                var src = img.src;
/*
jQuery(img).wrap("<a style="width:16px;height:16px;background: url('/Scripts/spacer.gif');filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ src +"',sizingMethod='crop');display: block;"></a>");
jQuery(img).remove();
*/
                img.style.width = img.width + "px";
                img.style.height = img.height + "px";
                img.style.filter ="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='image')";


                img.src = "/Scripts/spacer.gif"; //替换透明PNG的图片
            }
        }
    }
}

注意:这里需要用到一张空白透明的gif做底图/Scripts/spacer.gif

原理大概是这样,把所有png图片地地址都更换为/Scripts/spacer.gif,然后设置滤镜,将png以背景的形式映射在图片或层上边progid:DXImageTransform.Microsoft.AlphaImageLoader

热点排行