日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IE6 png背景图片显示不正常处理

發(fā)布時間:2025/3/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IE6 png背景图片显示不正常处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

http://xiaoboss.iteye.com/blog/1167829

現(xiàn)在web設(shè)計,畫面是越來越炫

但是使用了透明的背景圖,在IE6下,

在ie78 ff等瀏覽器顯示正常。

?解決辦法:

Html代碼 ?
  • body{?background-color:#CCC;}??
  • 一般普通寫法如下:??
  • div.bg1{?background:url(logo.png)?no-repeat?center;width:100px;?height:100px;}??
  • 特殊處理寫法如下:??
  • /**?Only?Used?For?IE?*/??
  • *.bg2{filter:?progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,?sizingMethod=scale,?src="logo.png");?width:100px;?height:100px;}??
  • /**?Only?Used?For?FF,Sa*/??
  • html?>?body?.bg2{?background:url(logo.png)?no-repeat?center;width:100px;?height:100px;}??
  • ??

    一下是html調(diào)用css寫法:

    Html代碼 ?
  • <body>??
  • ????<div?class="bg1">test?content</div>??
  • ????<hr/>??
  • ????<div?class="bg2">test?content</div>??
  • </body>??
  • ?

    一下為ie7對比顯示,上面為一般寫法,可以發(fā)現(xiàn)ie6處理的不好。

    下面為特殊寫法,可見比較完美。

    分析:

    ?ie系列瀏覽器可以通過filter 屬性來設(shè)置背景圖,而filter屬性在除ie系列瀏覽器就不生效。

    所以這里想到hack處理辦法。

    ?

    IE系列自己特殊的css寫法可以通過*,*.bg2 這種css樣式只能在ie系列瀏覽器生效

    同樣使用html > body .bg2,只有IE系列不生效的寫法。

    這樣可以看出效果在ie ff等下都顯示正常

    ?

    ?

    ?案例1:定義一個樣式,給某個div應(yīng)用這個樣式后,div的透明png背景圖片自動透明了。(注意兩處圖片的路徑寫法不一樣,本例中,icon_home.png圖片與html文件在相同目錄)

    ?

    Html代碼 ?
  • <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">??
  • <html?xmlns="http://www.w3.org/1999/xhtml">??
  • <head>??
  • <meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312"?/>??
  • <title>無標(biāo)題文檔</title>??
  • <style?type="text/css">??
  • <!--??
  • .qq?{??
  • height:?90px;??
  • width:?90px;??
  • background-image:?url(icon_home.png)!important;/*?FF?IE7?*/??
  • background-repeat:?no-repeat;??
  • ??
  • _filter:?progid:DXImageTransform.Microsoft.AlphaImageLoader(src='icon_home.png');?/*?IE6?*/??
  • _?background-image:?none;?/*?IE6?*/??
  • }??
  • -->??
  • </style>??
  • </head>??
  • ??
  • <body>??
  • ??
  • <div?class="qq"></div>??
  • ??
  • </body>??
  • </html>??
  • ?

    ?

    案例2: 給img定義樣式,頁面上所有透明png即自動透明了。(這方法只對直接插入的圖片有效,對背景圖無效)注意,要準(zhǔn)備一個透明的小圖片transparent.gif,大小不限。必須放在和html相同的目錄
    請勿大量使用,否則會導(dǎo)致頁面打開很慢!!!)

    ?

    Html代碼 ?
  • <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">??
  • <html?xmlns="http://www.w3.org/1999/xhtml">??
  • <head>??
  • <meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312"?/>??
  • <title>無標(biāo)題文檔</title>??
  • <style?type="text/css">??
  • .mypng?img?{??
  • azimuth:?expression(??
  • this.pngSet?this.pngSet=true:(this.nodeName?==?"IMG"?&&?this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage?=?"none",??
  • this.runtimeStyle.filter?=?"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"?+?this.src?+?"',?sizingMethod='image')",??
  • this.src?=?"transparent.gif"):(thisthis.origBg?=?this.origBg??this.origBg?:this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),??
  • this.runtimeStyle.filter?=?"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"?+?this.origBg?+?"',?sizingMethod='crop')",??
  • this.runtimeStyle.backgroundImage?=?"none")),this.pngSet=true);??
  • }??
  • ??
  • </style>??
  • </head>??
  • ??
  • <body>??
  • 換成你的png圖片??
  • <div?class="mypng">??
  • <img?src="icon_face_07.png"?width="30"?height="30"?/>??
  • <img?src="icon_face_10.png"?width="30"?height="30"?/>??
  • <img?src="icon_face_08.png"?width="30"?height="30"?/>??
  • </div>??
  • </body>??
  • </html>??
  • ?

    案例3:用JS實現(xiàn),加上一段js代碼后,所有插入的透明png自動透明了.(注意,這方法也是只對直接插入的圖片有效,對背景圖無效

    ?

    Html代碼 ?
  • <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">??
  • <html?xmlns="http://www.w3.org/1999/xhtml">??
  • <head>??
  • <meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312"?/>??
  • <title>無標(biāo)題文檔</title>??
  • <script?language="JavaScript">???
  • 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?imgimgName?=?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???
  • ?????????????jj?=?j-1???
  • ??????????}???
  • ???????}???
  • ????}???????
  • }???
  • window.attachEvent("onload",?correctPNG);???
  • </script>??
  • <style?type="text/css">??
  • <!--??
  • body?{??
  • background-color:?#9999CC;??
  • }??
  • -->??
  • </style></head>??
  • ??
  • <body>??
  • 把圖片換成你自己的圖片??
  • <img?src="img/icon_face_03.png"?width="30"?height="30"?/><!--把圖片換成你自己的圖片?-->??
  • <img?src="img/icon_face_05.png"?width="30"?height="30"?/>??
  • <img?src="img/menu_title_over.png"?width="130"?height="36"?/>??
  • </body>??
  • </html>???????
  • ?案例4:

    ?

    Html代碼 ?
  • <script?language="javascript">??
  • //?修復(fù)?IE?下?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;??
  • }?}???
  • ??
  • window.οnlοad=function(){??
  • ?????????document.getElementById("top").style.height=screen.height/5+"px";??
  • ??????????
  • }//??
  • </script>??
  • ?

    用法如下:
    <img src="logo.png" width="328" height="325" border="0" οnlοad="fixPNG(this)" />

    ?

    以下是微軟官方提供的解決方法:

    Js代碼?
  • /*??
  • Correctly?handle?PNG?transparency?in?Win?IE?5.5?&?6.?
  • Copyright?2007?Ignia,?LLC?
  • Based?in?part?on?code?from?from?http://homepage.ntlworld.com/bobosola.?
  • ?
  • Use?in?<HEAD>?with?DEFER?keyword?wrapped?in?conditional?comments:?
  • <!--[if?lt?IE?7]>?
  • <script?defer?type="text/javascript"?src="pngfix.js"></script>?
  • <![endif]-->?
  • ?
  • */??
  • ??
  • function?fixPng()?{??
  • ??var?arVersion?=?navigator.appVersion.split("MSIE")??
  • ??var?version?=?parseFloat(arVersion[1])??
  • ??
  • ??if?((version?>=?5.5?&&?version?<?7.0)?&&?(document.body.filters))?{??
  • ????for(var?i=0;?i<document.images.length;?i++)?{??
  • ??????var?img?=?document.images[i];??
  • ??????var?imgName?=?img.src.toUpperCase();??
  • ??????if?(imgName.indexOf(".PNG")?>?0)?{??
  • ????????var?width?=?img.width;??
  • ????????var?height?=?img.height;??
  • ????????var?sizingMethod?=?(img.className.toLowerCase().indexOf("scale")?>=?0)??"scale"?:?"image";???
  • ????????img.runtimeStyle.filter?=?"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"?+?img.src.replace('%23',?'%2523').replace("'",?"%27")?+?"',?sizingMethod='"?+?sizingMethod?+?"')";??
  • ????????img.src?=?"images/blank.gif";??
  • ????????img.width?=?width;??
  • ????????img.height?=?height;??
  • ????????}??
  • ??????}??
  • ????}??
  • ??}??
  • ??
  • fixPng();?
  • 轉(zhuǎn)載于:https://www.cnblogs.com/zhp404/articles/3974913.html

    總結(jié)

    以上是生活随笔為你收集整理的IE6 png背景图片显示不正常处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。