关于ie中png图片做背景不透明的问题,一直都是很让人头疼的,关于这个问题我也尝试过很多方法,终于让我找到了一个好东西,分享给大家。只要把这个文件(下载即可)放到css文件夹里,同时要在css样式里写入以下代码:
img, div, input { behavior: url("css/iepngfix.htc")}
但是,iepngfix.htc会出现的无法平铺,没法定位以及所加超链接的点击区域无法使用等问题!
官方网址:http://www.twinhelix.com
http://www.twinhelix.com/css/iepngfix/
现在它网站上更新到了V2.0 Alpha4。
ie6支持png8格式,但是不支持png24格式,通常所说的ie6透明问题都是基于png24的。放送一个小技巧:在png8与png24显示效果差不多的情况下就可以直接用photoshop把格式转化为png8格式的就可以了,而且png8的图片特别小噢。
下面开始进入正题:
一直以来不知道多少人因为ie6下的透明问题头疼不已,今天终于能得到解脱了。
在http://www.twinhelix.com/test/ 下载第一个“IEPNGFix v2.0 Alpha -- with background position/repeat! ”意思是支持背景的位置设定和重复属性。
使用方法:
1.复制 blank.gif、iepngfix.htc、iepngfix_tilebg.js(注意:该文件是支持position和repeat的关键不可缺少)到放置到某个位置。
2.修改iepngfix.htc中的“IEPNGFix.blankImg = '/img/blank.gif';”把白字部分改为blank.gif所在的位置
3.把iepngfix_tilebg.js加入所要用到的页面(如果position和repeat没效果,那就是这里出问题啦,检查下)
4.在css中设置要透明的地方;如下:
#container{background:transparent url(/img/hotelpage/content_bg_03.png) no-repeat scroll left bottom; }
#container{behavior: url(/png/iepngfix.htc) }。(这段代码就是引用iepngfix.htc文件)
http://www.twinhelix.com/css/iepngfix/
下载这里就不提供了,直接上它的网站下载最新版的。还有示例。
URL:http://dillerdesign.com/experiment/DD_belatedPNG/
终于可以和“iepngfix.htc”说拜拜了!
DD_belatedPNG完美地解决了“iepngfix.htc”会出现的无法平铺,没法定位以及所加超链接的点击区域无法使用等问题!
详细文档见http://dillerdesign.com/experiment/DD_belatedPNG/。这里就不提供翻译了,哪位大大有时间有精力就来个翻译文档吧。08年末这东西刚出来的时候国内就有人发过这个方法,但不知道为什么,没引起什么“效应”,很多人还是在用上面说的“更具局限性”的方法。
使用方法很简单,首先下载调用JS
0.0.8a.js (未压缩版本, ~12Kb)
0.0.8a-min.js (压缩版, ~7Kb)
之后在使用PNG的页面中引用代码
- <!–[if IE 6]>
- <script type=”text/javascript” src=”下载下来的JS路径”></script>
- <script>
- DD_belatedPNG.fix(’CSS选择器, 应用类型’);
- </script>
- <![endif]–>
引用函数是 DD_belatedPNG.fix() , 括号里分别填写应用PNG的CSS选择器(可使用ID选择器和类选择器)和应用类型(分为img和background两种)。
如DD_belatedPNG.fix(’#box-one, img’) 或者 DD_belatedPNG.fix(’.header, background’) 等。
这些可以简写成 DD_belatedPNG.fix(’#box-one, .header, img,background’); 。
更多选择器的如 DD_belatedPNG.fix(’#box-one, .header,#footer,.box-two a:hover, img,background’); 等等。
DD_belatedPNG使用时存在的bug问题:
关于IE6下fix png半透明图片 存在定位浮动bug的问题,发现使用插件DD_belatedPNG时,有时候使用,有些PNG背景图出现了浮动偏移,感觉就象是背景图片象绝对定位那样偏移了原来的位置,感觉象变成了一个层相对body的绝对定位,于是在容器内设置position:relative,没想到效果是可以的。
例如:
- <body>
- <script>
- DD_belatedPNG.fix('.dd,img,background');
- </script>
- <div id="wrap">
- <div class="dd" style="background:url(../images/bg.png)"></div>
- </div>
- </body>
有可能会出现.dd层偏移到了body的left:0,top:0的位置,
所以,有可能要对.dd层的容器#wrap用positon:relative进行定位。
另外,为解决IE6下背景图闪烁,可以定义下html的CSS
- html {filter:expression(document.execCommand(”BackgroundImageCache”, false, true));}
相关推荐
总的来说,解决IE6下的PNG透明问题是一项挑战,但借助iepngfix.htc等工具,我们可以使这些老版本浏览器也能展示现代网页设计的魅力。然而,随着IE6的逐渐淘汰,开发者更多地转向了对现代浏览器的兼容性优化,这些...
该脚本通过动态修改CSS样式和HTML结构,使得IE6能够正确渲染PNG图像的透明部分,从而解决了灰色背景的问题。使用unitpngfix.js,开发者可以在不牺牲视觉效果的前提下,确保在IE6浏览器上也能获得良好的页面展示。 ...
4 如果想使用背景平铺和定位的效果,以前的步骤做完之后,我们还要再引用 iepngfix_tilebg.js 这个js,才能使png图片在ie6中平铺时实现透明效果,像下面这样: <script type="text/javascript" src="iepngfix_...
为了解决IE6中的PNG阴影问题,我们可以利用一个名为iepngfix.htc的解决方案。iepngfix.htc 是一个行为(Behavior)文件,它是CSS扩展的一种形式,允许在HTML元素上应用脚本。通过将iepngfix.htc链接到CSS样式表,...
虽然iepngfix.htc在某些情况下可以部分解决PNG透明问题,但确实存在一些局限性,比如无法平铺、定位困难,以及在添加了超链接的PNG图像上,点击区域可能无法正常工作。 DD_belatedPNG的优势在于,它不仅解决了iepng...
在IT行业中,尤其是在...总之,iepngfix是针对IE6浏览器PNG透明问题的一种解决方案,通过JavaScript技术实现对PNG图片的透明度支持。虽然如今已不再主流,但在过去,它为许多开发者提供了应对旧浏览器挑战的有效途径。
`checkerboard.gif`可能是用于模拟透明背景的棋盘格图像,`blank.gif`可能是用于透明效果的占位符,`iepngfix.htc`是上面提到的HTC行为文件,`index.html`是示例网页,`alixixi.png`可能是测试用的PNG图片,`使用...
这个解决方案的核心是利用一个名为"iepngfix.htc"的HTC文件,这是一种基于VML(Vector Markup Language)的技术,允许IE6模拟PNG的透明效果。 描述中提到的“利用HTC解决IE6中PNG的背景不能透明显示的例子”进一步...
在互联网的早期,Internet Explorer(简称IE)浏览器在处理PNG(Portable Network Graphics)格式的透明图片时存在一些兼容性问题,特别是在IE6及以下版本。这些版本的浏览器无法正确显示24位PNG图像的Alpha透明效果...
总结来说,这个压缩包提供了一套解决方案,帮助开发者在古老的IE6浏览器中实现PNG图像的背景透明,包括使用GIF图像作为备选、应用HTC行为文件和创建示例网页来演示效果。这对于那些仍需支持IE6的项目非常有用,尤其...
其实问题出在浏览器身上,IE7及以上版本已解决了PNG透明问题,但现在仍有不少用户在使用IE6及以下版本,因此如果想让你的PNG图像在多种浏览器下都表现良好,本插件可帮你解决问题,附有使用示例。
4. **iepngfix.htc**:这是一款解决IE6 PNG透明问题的解决方案,它是一种行为(Behavior)文件,使用VML(Vector Markup Language)来模拟PNG的透明效果。通过在CSS中引入`behavior:url(iepngfix.htc)`,可以使得IE6...
- `iepngfix_tilebg.js`:JavaScript脚本文件,用于解决某些特定情况下背景图片不显示的问题。 ##### 第二步:部署文件 将上述文件放置在项目的适当位置,如CSS、JS和images目录中,或者创建一个新的文件夹(如`ie...
3,demo-htc通过iepngfix.htc文件实现透明度,同时通过修改html结构得到想要的结果,但存在文档内容顺序的问题。 4,最后,demo-DD,此方法完美解决,不过需要在设置png背景的div上添加class=“png”的类。
在IT行业中,尤其是在网页设计和开发领域,"解决ie6下png图片背景问题"是一个经典且重要的主题。Internet Explorer 6(简称IE6)是微软公司早期推出的一款浏览器,由于其对PNG(Portable Network Graphics)图像格式...
`iepngfix_tilebg.js`可能是JavaScript版本的透明修复库,适用于背景图的透明处理。 总的来说,解决IE6下的图片透明问题需要一些额外的工作,包括使用特定的行为文件和CSS滤镜。提供的文件清单显示了一个完整的解决...
虽然iepngfix在当时是一个非常有用的解决方案,但随着IE6的逐渐淘汰以及现代浏览器的普及,开发者现在更多地转向了对现代浏览器兼容性更好的解决方案,如使用CSS3的`rgba()`颜色函数和`opacity`属性,或者使用渐进...
PNG(Portable Network Graphics)是一种支持透明度的图像格式,但在IE6中,它无法正确显示带有alpha透明通道的PNG-24图像,导致图片出现半透明部分变成全黑或者背景颜色无法透过,这被称为“PNG透明问题”。...