// 修复 IE 下 PNG 图片不能透明显示的问题
<script type="text/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 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);
</script>
使用时:先引入上面的JS 然后在使用的地方:
<img src="images/logo.png" alt="http://glhaohao.com/ - 桂林好又好教育咨询有限公司" onload="return correctPNG();" />
分享到:
相关推荐
### js修复IE不能显示PNG图片透明背景的方法 #### PNG图片及其特性 PNG(Portable Network Graphics)是一种常用的位图图形格式,以其高效的压缩算法和对透明度的支持而受到广泛青睐。相较于传统的GIF格式,PNG...
可能是关于ASP.NET中的GridView控件如何固定表头的教程或代码示例,而"IE下png图片无法透明显示的解决方案"很可能提供了更具体的处理方法,包括代码片段或详细步骤,可以帮助解决这个问题。在实际操作中,可以参考该...
"最好的IE6下png透明图片修复代码"提供了一个解决方案,使得在Internet Explorer 6(IE6)这种老版本浏览器中,也能正确显示具有透明效果的PNG图像。这个问题的核心在于,IE6只支持PNG-8格式的透明,而不支持PNG-24...
为了解决这个问题,开发者们创造了一种名为“DD_belatedPNG”的JavaScript库,它通过JavaScript模拟了PNG透明效果,从而使得在IE6上可以正常显示这些图片。 DD_belatedPNG的核心原理是利用VML(Vector Markup ...
总的来说,“IE6png透明JS”是针对IE6浏览器PNG透明问题的一种技术解决方案,它利用JavaScript库和CSS滤镜来模拟或修复透明效果。随着浏览器更新换代,这个问题逐渐被解决,但对于仍然需要支持IE6的开发者来说,这些...
3. JavaScript库:有些JavaScript库如DD_belatedPNG可以动态修复IE6的PNG透明问题。这些库通过JavaScript模拟PNG透明效果,实现兼容性。引入库后,只需对需要透明效果的元素应用特定类名即可。 4. 图片背景替换:...
在实际应用中,开发者只需要在网页的部分引入`pngfix.js`,或者在部分加载图片之后再调用该脚本,就可以让IE5.5和6支持PNG透明了。例如: ```html <script src="pngfix.js"> window.onload = function() { png...
对于不支持PNG透明的浏览器,可以考虑使用备选方案,如使用JPEG或GIF图片,或者使用CSS3的`opacity`属性和`background-color: rgba()`为非IE6浏览器提供透明效果,而对IE6提供一个不透明的替代方案。 5. 鼓励用户...
在早期的网页设计中,IE6.0浏览器的兼容性问题常常困扰着开发者,其中最典型的两个问题是:PNG图片的背景透明无法正确显示以及带有透明背景的链接无法正常点击。这两个问题在现代浏览器中通常不是问题,但在IE6.0上...
标签中的“IEpng透明浏览器兼容 所有浏览器支持png透明”表明这个插件不仅关注IE浏览器的PNG透明问题,而且可能也考虑到了其他浏览器的兼容性,确保在各种现代浏览器中也能正常工作,提供一致的用户体验。...
虽然iepngfix.htc在某些情况下可以部分解决PNG透明问题,但确实存在一些局限性,比如无法平铺、定位困难,以及在添加了超链接的PNG图像上,点击区域可能无法正常工作。 DD_belatedPNG的优势在于,它不仅解决了iepng...
但在IE6中,由于其对PNG格式的不完全支持,特别是对PNG8和PNG24带Alpha通道的图片处理存在问题,导致图片显示为全透明或不透明,严重影响了网页的美观和用户体验。 要实现IE6下的PNG透明,通常采用以下几种...
5. **PNG透明修复脚本**:压缩包内的“IE6 PNG处理”脚本可能是一个JavaScript库,如DD_belatedPNG,它通过检测浏览器版本,对IE6下的PNG图片进行特殊处理,使其能够正确显示透明效果。这类脚本通常会分析图片,创建...
有些JavaScript库如DD_belatedPNG或PNGFix.js专门用于解决IE6下的PNG透明问题。这些脚本通过检测浏览器类型并在需要时动态添加滤镜,使得PNG图片在IE6下也能显示透明效果。引入这些库后,只需在图片元素上应用特定...
但在IE6中,PNG-24的Alpha通道被忽略,导致图片显示为不透明;而PNG-8的索引透明则能正常工作,但仅限于全透明和不透明两种状态。 3. 解决方案: - CSS滤镜法:使用CSS滤镜属性`filter`,如`progid:...
2. **JavaScript库**:有一些JavaScript库如DD_belatedPNG或PNGFix专门用于解决IE6的PNG透明问题。它们通过动态创建元素并应用滤镜来模拟透明效果。引入这些库后,只需简单地为需要修复的元素添加特定的类名即可。 ...
4. **HTML5 doctype**:使用HTML5的doctype可以强制IE6进入"Quirks Mode",在这种模式下,PNG透明问题可能会得到缓解,但这不是最佳实践,因为它会导致其他兼容性问题。 以上就是关于“IE 6 PNG透明通道”的知识点...
2. **JavaScript库**:像`iepngfix.js`这样的JavaScript库可以动态修复PNG透明度。这些库通过替换图像源或应用特定的CSS样式来实现透明效果。在提供的压缩包中,`iepngfix`可能就是这样一个修复库。 3. **CSS背景...
- 虽然"IEPNGFix"可以解决大部分问题,但并非所有PNG透明效果都能完美呈现,特别是在涉及复杂布局和动画的情况下。 - 随着Internet Explorer的逐渐淘汰,对于现代浏览器,更推荐使用CSS3的`opacity`属性和`...