`
charrysong
  • 浏览: 50407 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解决IE6 png透明问题

阅读更多
在web前端开发中,经常会遇到需要用背景或图片透明的问题。

首先,目前我们所面临的情况是:
1.在ie7+,firefox,safari,opera这些常用浏览器中,直接使用透明png是没有问题的,但在ie6下却不能透明。

2.ie6目前的时常份额仍然很大,我们必须考虑兼容ie6的问题。

解决办法:
1.使用gif代替,再各个浏览器中都可以透明,但效果不好,有毛边,这种在图片像素较单一,质量要求不是很高的情况下可以采用。

2.使用png,但需要在ie下做额外处理。

3.需要专门下载微软的ie6升级包,但不能要求每个用户都去升级,因此此方法这里不做考虑。

png图片透明解决办法

1.准备一张透明的小图片transparent.gif。
2.样式如下:
.pngfix {
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"):(this.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);
}

然后将此样式加入到img标签即可。

png背景透明解决办法
.pngbackground{
background:url(your.png);
_background: none;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='your.png',sizingMethod='scale');
}

注:当属性前面加_,则只在ie6下被解析。那么到目前为止,基本解决了png在ie6下的透明问题,但事情似乎没有这么顺利,很快我们就可以发现,当png作为透明背景的时候,会另自己失去焦点,此时加在上面的事件如:onmouseover,onclick等事件都失去了作用,这也是滤镜的一个特性,这时候我们需要将该元素的position设置为relative就可以解决问题,即:
.pngbackground {
position:relative;
background:url(your.png);
_background: none;
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='your.png',sizingMethod='scale');
}

转自:http://www.ok22.org/art_detail.aspx?id=178
分享到:
评论

相关推荐

    解决ie6 PNG透明问题——两种方法都好用哦

    ### 解决IE6 PNG透明问题的方法 在网页设计与开发领域中,Internet Explorer 6(简称 IE6)因其对部分CSS特性和图像处理的支持不足而成为不少开发者头疼的问题之一,尤其是PNG透明效果的支持。本文将详细介绍两种...

    IE6png透明JS

    2. **DD_belatedPNG**:这是一个非常著名的JavaScript库,由Dean Edwards开发,专门用于解决IE6下的PNG透明问题。通过添加额外的JavaScript代码,该库可以动态地修改DOM元素,使得PNG-24图像在IE6下表现得像在现代...

    IEpng透明通用代码

    "unitpngfix.js"是一个JavaScript库,专门用于解决IE6中的PNG透明问题。这个脚本通过动态修改CSS样式和利用滤镜(filter)属性来实现PNG图像的透明显示。当这个脚本被引入到网页中时,它会检测页面上的PNG图像,并对...

    IE6完美解决PNG背景透明

    总结起来,"IE6完美解决PNG背景透明"是一个关于如何使用DD_belatedPNG JavaScript库来解决Internet Explorer 6浏览器对PNG透明度不支持问题的解决方案。这个库通过JavaScript和CSS的结合,使得在IE6下也能呈现出与...

    IE6png背景图片透明

    二、JS解决IE6 PNG透明问题 1. AlphaImageLoader滤镜:这是微软为IE6提供的一种内建滤镜,可以通过CSS样式来应用。例如: ```css background-image: url('image.png'); filter: progid:DXImageTransform.Microsoft....

    PNG图片透明兼容IE6和火狐示例

    4. **iepngfix.htc**:这是一款解决IE6 PNG透明问题的解决方案,它是一种行为(Behavior)文件,使用VML(Vector Markup Language)来模拟PNG的透明效果。通过在CSS中引入`behavior:url(iepngfix.htc)`,可以使得IE6...

    IE6不兼容png透明背景解决方法

    2. **JavaScript库**:有一些JavaScript库如DD_belatedPNG或PNGFix专门用于解决IE6的PNG透明问题。它们通过动态创建元素并应用滤镜来模拟透明效果。引入这些库后,只需简单地为需要修复的元素添加特定的类名即可。 ...

    完美解决IE6下png透明

    然而,通过一些技术手段,我们可以“完美解决IE6下PNG背景、图片透明问题”。 首先,我们需要了解PNG图像格式。PNG是一种无损压缩的位图格式,支持透明度设置,包括完全透明和半透明。对于其他现代浏览器,如Fire...

    ie6-png解决方案01

    在提供的文件中有一个名为"iepng.js"的文件,这可能是一个专门用于解决IE6 PNG透明问题的JavaScript库。这种库通常通过动态修改CSS属性或者使用滤镜来实现PNG图片的透明效果。例如,著名的"DD_belatedPNG"库就是一种...

    如何解决IE6下png不透明

    总之,了解并解决IE6下的PNG透明问题,对于前端开发者来说是一项重要的历史技能,它体现了浏览器兼容性和JavaScript解决问题的能力。随着技术的发展,这些问题逐渐被新的技术和标准所取代,但了解这些历史问题可以...

    超好用的IE6png透明JS

    "超好用的IE6png透明JS"是一个专门解决这一问题的JavaScript库。这个库通过JavaScript代码来模拟PNG透明效果,使得在IE6浏览器中可以正确显示具有透明通道的PNG图片,从而提升了用户体验。虽然现在IE6的使用率已经...

    IE6下PNG背景透明的方法(基于iepngfix.htc).zip

    总的来说,解决IE6下的PNG透明问题是一项挑战,但借助iepngfix.htc等工具,我们可以使这些老版本浏览器也能展示现代网页设计的魅力。然而,随着IE6的逐渐淘汰,开发者更多地转向了对现代浏览器的兼容性优化,这些...

    解决ie6png透明的js插件

    为了解决这个问题,开发者们创建了专门的JavaScript插件来实现IE6下的PNG透明效果。 本资源提供的就是一个针对IE6 PNG透明问题的JavaScript插件,它允许在IE6浏览器中正确显示具有Alpha透明通道的PNG图像。这个插件...

    IE6 PNG 透明处理方法

    这个库通过JavaScript代码来模拟对PNG透明的支持,从而使得在IE6中可以正确显示带有透明效果的PNG图片。文件“DD_belatedPNG_0.0.8a.js”就是这个库的一个版本,它可以通过引入到HTML页面中,来为IE6提供透明PNG的...

    解决IE6 PNG图片透明问题

    本文将深入探讨如何解决IE6中的PNG图片透明问题,并提供相应的解决方案。 首先,我们需要理解问题的本质。PNG8格式支持索引色和简单的全局透明,而PNG24则支持真彩色和全透明。在IE6中,PNG24的Alpha透明通道无法...

    ie6 png 透明度 解决方法

    总结起来,解决IE6中的PNG透明度问题,可以通过CSS滤镜、JavaScript库、条件注释以及图像格式转换等多种方式。选择哪种方法取决于具体项目的需求和开发者的技术栈。虽然现在IE6的使用率已经很低,但在维护旧网站或...

    iepng,解决ie6下png透明

    解决ie6下png透明问题 在页面引入这个js文件,让回EvPNG.fix();

    ie6中png透明解决方案 js

    这个压缩包中的"ie6中png透明解决js"很可能包含了类似上述的JavaScript代码,用于解决IE6的PNG透明问题。为了使用这个解决方案,你需要将代码引入到你的项目中,并确保图片的路径和类名与代码相匹配。同时,为了兼容...

    js_IE6支持png透明解决png_ie6下不透明背景图片

    总之,要解决IE6中的PNG透明问题,开发者通常需要借助JavaScript库和CSS滤镜。虽然这种方法在技术上可行,但也会带来额外的性能开销,并且只能在IE6中生效。随着现代浏览器的普及,这个问题逐渐变得不再重要,但了解...

    ie6png透明解决

    总的来说,解决IE6下的PNG透明问题需要一定的技巧和权衡。开发者需要根据项目需求和目标用户的浏览器兼容性选择合适的解决方案。随着现代浏览器的普及,这个问题已经逐渐减少,但在维护旧项目或支持较旧用户群体时,...

Global site tag (gtag.js) - Google Analytics