`

ie pngfix.htc存在问题和IE6下PNG图像透明及背景图闪烁完美解决方案

阅读更多

 

终于可以和 iepngfix.htc 说拜拜了! DD_belatedPNG完美地解决了iepngfix.htc会出现的无法平铺,没法定位以及所加超链接的点击区域无法使用等问题!

关于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的页面中引用代码

 

  1. <!–[if IE 6]> 
  2.           <script type=”text/javascript” src=”下载下来的JS路径”></script> 
  3.           <script> 
  4.             DD_belatedPNG.fix(’CSS选择器, 应用类型’);  
  5.           </script> 
  6. <![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,没想到效果是可以的。
例如:

  1. <body> 
  2. <script>
  3. DD_belatedPNG.fix('.dd,img,background');
  4. </script> 
  5. <div id="wrap"> 
  6.  
  7.    <div class="dd" style="background:url(../images/bg.png)"></div> 
  8.  
  9. </div> 
  10.  
  11. </body> 
  12.  

 有可能会出现.dd层偏移到了body的left:0,top:0的位置,
所以,有可能要对.dd层的容器#wrap用positon:relative进行定位。
 

 

 

另外,为解决IE6下背景图闪烁,可以定义下html的CSS

  1. html {filter:expression(document.execCommand(”BackgroundImageCache”, false, true));}  

 

 

分享到:
评论

相关推荐

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

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

    IE6PNG透明背景显示灰色--解决方法(unitpngfix.js)

    该脚本通过动态修改CSS样式和HTML结构,使得IE6能够正确渲染PNG图像的透明部分,从而解决了灰色背景的问题。使用unitpngfix.js,开发者可以在不牺牲视觉效果的前提下,确保在IE6浏览器上也能获得良好的页面展示。 ...

    让IE6支持png半透明图片(支持背景平铺、定位)

    4 如果想使用背景平铺和定位的效果,以前的步骤做完之后,我们还要再引用 iepngfix_tilebg.js 这个js,才能使png图片在ie6中平铺时实现透明效果,像下面这样: &lt;script type="text/javascript" src="iepngfix_...

    IE6中觉得PNG格式图片阴影的方法

    为了解决IE6中的PNG阴影问题,我们可以利用一个名为iepngfix.htc的解决方案。iepngfix.htc 是一个行为(Behavior)文件,它是CSS扩展的一种形式,允许在HTML元素上应用脚本。通过将iepngfix.htc链接到CSS样式表,...

    IE6完美解决PNG背景透明

    虽然iepngfix.htc在某些情况下可以部分解决PNG透明问题,但确实存在一些局限性,比如无法平铺、定位困难,以及在添加了超链接的PNG图像上,点击区域可能无法正常工作。 DD_belatedPNG的优势在于,它不仅解决了iepng...

    ie6图片png完美支持iepngfix

    在IT行业中,尤其是在...总之,iepngfix是针对IE6浏览器PNG透明问题的一种解决方案,通过JavaScript技术实现对PNG图片的透明度支持。虽然如今已不再主流,但在过去,它为许多开发者提供了应对旧浏览器挑战的有效途径。

    IE6下PNG背景透明的方法

    `checkerboard.gif`可能是用于模拟透明背景的棋盘格图像,`blank.gif`可能是用于透明效果的占位符,`iepngfix.htc`是上面提到的HTC行为文件,`index.html`是示例网页,`alixixi.png`可能是测试用的PNG图片,`使用...

    IE6的PNG解决方案例子

    这个解决方案的核心是利用一个名为"iepngfix.htc"的HTC文件,这是一种基于VML(Vector Markup Language)的技术,允许IE6模拟PNG的透明效果。 描述中提到的“利用HTC解决IE6中PNG的背景不能透明显示的例子”进一步...

    ie 下png 透明图片 兼容解决方案

    在互联网的早期,Internet Explorer(简称IE)浏览器在处理PNG(Portable Network Graphics)格式的透明图片时存在一些兼容性问题,特别是在IE6及以下版本。这些版本的浏览器无法正确显示24位PNG图像的Alpha透明效果...

    IE6下PNG背景透明的方法.zip

    总结来说,这个压缩包提供了一套解决方案,帮助开发者在古老的IE6浏览器中实现PNG图像的背景透明,包括使用GIF图像作为备选、应用HTC行为文件和创建示例网页来演示效果。这对于那些仍需支持IE6的项目非常有用,尤其...

    Png图片透明效果,基于jquery.pngFix.js实现.rar

    其实问题出在浏览器身上,IE7及以上版本已解决了PNG透明问题,但现在仍有不少用户在使用IE6及以下版本,因此如果想让你的PNG图像在多种浏览器下都表现良好,本插件可帮你解决问题,附有使用示例。

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

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

    IE6下的png格式图片解决方案

    - `iepngfix_tilebg.js`:JavaScript脚本文件,用于解决某些特定情况下背景图片不显示的问题。 ##### 第二步:部署文件 将上述文件放置在项目的适当位置,如CSS、JS和images目录中,或者创建一个新的文件夹(如`ie...

    完美解决IE6png图片透明

    3,demo-htc通过iepngfix.htc文件实现透明度,同时通过修改html结构得到想要的结果,但存在文档内容顺序的问题。 4,最后,demo-DD,此方法完美解决,不过需要在设置png背景的div上添加class=“png”的类。

    解决ie6下png图片背景问题

    在IT行业中,尤其是在网页设计和开发领域,"解决ie6下png图片背景问题"是一个经典且重要的主题。Internet Explorer 6(简称IE6)是微软公司早期推出的一款浏览器,由于其对PNG(Portable Network Graphics)图像格式...

    ie6浏览器下图片透明

    `iepngfix_tilebg.js`可能是JavaScript版本的透明修复库,适用于背景图的透明处理。 总的来说,解决IE6下的图片透明问题需要一些额外的工作,包括使用特定的行为文件和CSS滤镜。提供的文件清单显示了一个完整的解决...

    ie6 png 透明实现方法

    虽然iepngfix在当时是一个非常有用的解决方案,但随着IE6的逐渐淘汰以及现代浏览器的普及,开发者现在更多地转向了对现代浏览器兼容性更好的解决方案,如使用CSS3的`rgba()`颜色函数和`opacity`属性,或者使用渐进...

    IE6下PNG图像透明完美解决方案–DD_belatedPNG

    ### IE6下PNG图像透明完美解决方案–DD_belatedPNG #### 概述 在Web开发领域,尤其是在处理老旧浏览器兼容性问题时,IE6一直是开发者头疼的问题之一。其中一个典型的例子就是在IE6中处理PNG图像的透明问题。由于IE...

Global site tag (gtag.js) - Google Analytics