#

## 关于IE6下，png格式的图片背景显示成灰色的问题

  Category:纤色文摘
  Time: 2011-5-6 下午 05:44:07
  By: 纤色网络
  Hits:

PNG格式的图片在使用透明效果时，有远远超过GIG格式的效果。但是，大家会发现，如果将透明背景的PNG格式图片放在网页上，用IE6.0打开时，背景成了灰色了？不但不好看，反而影响了美观。

在IE7.0以上的版本，PNG格式的透明图片是正常显示的。这让我们通常会碰到一个现象，打开老外的网站时，他们那群白痴，怎么都将不透明的图片放得那么难看呵？他们看不见吗？还是他们审美有毛病！？

其实，多数老外使用的IE已经不在IE6.0上了，他们要么用7.0以上的，要么用火狐，谷歌浏览器，所以，而出于PNG格式的图片显示效果的优越性，他们通常会使用PNG类型的透明背景图，但因为他们使用的IE级别高原因，使他们习惯性的忽略了使用IE6.0的浏览者，在他们看来，现象效果是非常优美的(他们普遍用的IE都是比较高的版本了)，可到了我们看的时候就“变质了”。

那么，怎么处理这种“种族歧视”的不足呢？

将下面的代码拷贝到要用的地方就可以了

function correctPNG()
{
for(var i=0; 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 = " + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\">"
img.outerHTML = strNewHTML
i = i-1
}
}
}
function alphaBackgrounds(){
var rslt = navigator.appVersion.match(/MSIE (d+.d+)/, '');
var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
for (i=0; i var bg = document.all[i].currentStyle.backgroundImage;
if (bg){
if (bg.match(/.png/i) != null){
var mypng = bg.substring(5,bg.length-2);
//alert(mypng);
document.all[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+mypng+"', sizingMethod='crop')";
document.all[i].style.backgroundImage = "url('')";
//alert(document.all[i].style.filter);
}
}
}
}

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
window.attachEvent("onload", correctPNG);
window.attachEvent("onload", alphaBackgrounds);
}

你也可以将以上代码保存为比如png.js，在使用的地方进行调用。那IE6下烦人的灰色背景，便会消失了。为方便大家，清风在此已将代码文件上传，你只需点击下面的地址就可将该png.js文件下载回去，在需要的时候，直接调用就行。 点击下载此文件

- 上一篇：没有了!
- 下一篇：怎么将shopex前台的销售价改为会员价

## 网站主导航

- 网站首页
- 服务范围
- 案例展示
- 建站系统
- 纤色观点
- 关于我们

## 为什么选择我们?

1. 高品质的网站风格设计
2. 高效先进的网站建设技术
3. SEO型多语言外贸网站建设
4. 多年建站SEO经验
适宜的实施价格等优势使清风网站工作室不断发展壮大，也是您放心选择的理由。

- 地址：佛山市禅城区祖庙街道东升大街
- 邮编：521000
- 电话：13927799776; 13927799776
- QQ：

  33510237

- EMAIL： 2681712923@qq.com

## 业务范围

- 企业网站建设
- 网上商城架构
- 门户网站搭建
- 网站优化及推广

## 友情链接

- 免费源码
- 狗扑源码社区