做Web开发的朋友一定都知道PNG是一个相当不错的图片格式,但是这个好的格式却在IE6时代造成了麻烦,IE6会使透明的PNG的透明部分出
现#DBEAED的色彩。透明不了。使得在FF下开发表现很好的界面换成IE浏览就惨不忍睹,又逼着换成GIF,而GIF的假透明在变换背景时造成毛边现
象。
官方解決方案核心代碼:
/*
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 with DEFER keyword wrapped in conditional comments:
<script type="text/javascript" defer="true" src="pngfix.js"></script>
*/
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;></document.images.length;> 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" mce_src="images/blank.gif";
img.width = width;
img.height = height;
}
}
}
}
fixPng();
附件中提供完成實例。
分享到:
相关推荐
PNG是一种先进的位图格式,提供了24位颜色和透明度支持,但在IE6中,PNG-24格式的透明效果会呈现为灰色背景,这给网页设计带来了困扰。以下是对这个问题的深入探讨和解决方案。 首先,理解问题的根源:IE6对PNG-24...
为了解决这个问题,开发者们提出了多种解决方案,使得在IE6中也能实现PNG背景透明。 首先,我们需要理解问题的根源。IE6对PNG-8格式的支持相对较好,但对PNG-24格式的透明性支持不佳,它只会显示图片而不处理透明度...
总结起来,"IE6完美解决PNG背景透明"是一个关于如何使用DD_belatedPNG JavaScript库来解决Internet Explorer 6浏览器对PNG透明度不支持问题的解决方案。这个库通过JavaScript和CSS的结合,使得在IE6下也能呈现出与...
本压缩包提供的"ie6中png透明解决方案 js"正是针对这一问题的解决方案。 首先,我们需要理解PNG图片格式。PNG是一种无损压缩的图像格式,支持24位色彩和8位灰度色彩,同时提供了Alpha通道,实现了半透明效果。在...
`checkerboard.gif`可能是用于模拟透明背景的棋盘格图像,`blank.gif`可能是用于透明效果的占位符,`iepngfix.htc`是上面提到的HTC行为文件,`index.html`是示例网页,`alixixi.png`可能是测试用的PNG图片,`使用...
PNG(Portable Network Graphics)是一种支持透明度的高质量图像格式,但在IE6中,PNG-24格式的图片透明度会出现故障,而PNG-8格式虽然能实现简单的透明效果,但色彩表现有限。为了解决这个问题,开发者们提出了一些...
总之,要解决IE6中的PNG透明问题,开发者通常需要借助JavaScript库和CSS滤镜。虽然这种方法在技术上可行,但也会带来额外的性能开销,并且只能在IE6中生效。随着现代浏览器的普及,这个问题逐渐变得不再重要,但了解...
要解决IE6中的PNG透明问题,有几种常见的方法: 1. **CSS滤镜(Filter)**:IE6提供了一个名为`AlphaImageLoader`的滤镜,可以用来处理PNG的透明性。通过在CSS中添加如下代码,可以实现PNG图片的透明效果: ```css...
在IE6这个古老的浏览器上,PNG图片的透明性是一个众所周知的问题。PNG-24格式的图片支持阿尔法通道透明,但IE6并不完全...同时,确保在其他现代浏览器中的表现不受影响,因为这些解决方案可能对非IE6浏览器产生副作用。
6. **服务器端解决方案**:在服务器端,如PHP、ASP.NET等,可以使用代码动态转换PNG为带有透明背景的IE可识别的GIF或JPEG。 在实际应用中,通常会结合使用以上方法,根据项目需求和浏览器兼容性要求选择最合适的...
看了很多网上有关解决ie6下png图片透明的文章,很多都是只解决了页面上插入png图片或css背景调用,而且都没用透明效果,在ie6下仅实现了去除灰底色。特对一些优秀页面进行分析整合,整理了两套相当有效的解决方案,...
这个库会在页面加载完成后自动处理指定元素内的PNG图片,使其在IE6中具有透明效果。这种方法的优点是可以在不影响其他浏览器的情况下,只对IE6进行兼容性处理。 总结来说,面对IE6下的PNG图片透明问题,开发者可以...
PNG格式允许24位色彩的同时还提供了 Alpha 通道,可以实现半透明效果,但在IE6中,这种透明特性却无法正常显示,导致图片背景呈现出不透明的黑色或白色。以下是对这个问题的详细分析和解决方案: 首先,我们需要...
为了解决这一问题,开发者们开发了一种利用JavaScript来修复IE浏览器不支持PNG透明背景的方法。这种方法通过动态创建HTML元素并应用特定的CSS样式以及ActiveX控件,来模拟PNG的透明效果。 下面是具体的实现步骤: ...
标题中的“IE6_PNG透明终极解决办法”指的是在Internet Explorer 6(简称IE6)浏览器中处理PNG图片透明度的问题。PNG格式的图片支持Alpha透明通道,允许半透明效果,但在IE6这个古老的浏览器中,对PNG8和PNG24格式的...
在IT行业中,尤其是在网页设计和开发领域,"解决ie6下png图片背景问题"是一个经典且重要的主题。Internet Explorer 6(简称IE6)是微软公司早期推出的一款浏览器,由于其对PNG(Portable Network Graphics)图像格式...
但在IE6中,PNG-8(8位色)的透明效果可以正常显示,而PNG-24(24位色,支持半透明)则会出现问题。 为了解决这个问题,有以下几种常见方法: 1. **CSS滤镜法**:这是最常用的解决方式,利用CSS中的`filter`属性,...
2. **IE6的PNG透明问题**:IE6不支持PNG24的阿尔法透明,导致图片背景显示为黑色或不透明。对于PNG8,只有256色以下的颜色和单色透明可以正常显示,复杂的透明效果无法实现。 3. **JavaScript解决方案**:为了克服...
总的来说,“IE6png透明JS”是针对IE6浏览器PNG透明问题的一种技术解决方案,它利用JavaScript库和CSS滤镜来模拟或修复透明效果。随着浏览器更新换代,这个问题逐渐被解决,但对于仍然需要支持IE6的开发者来说,这些...