关于IE6.0对png图片的兼容性解决方案(转载)

http://www.cnblogs.com/yaokai/archive/2010/02/04/1663874.html

 

刚开的博客,一直不知道写点什么,这段时间一直在做个网站,里面用到了不少png格式图片,而后果就是IE 6.0 对png的兼容性实在让人头疼!在网上找了很多相关资料,都不是很全面,最后花了几个小时时间,结合了几个网站的解决方案,终于完美的解决了!! 所以决定写个详细的解决方案,包括IE6.0对png图片的支持,以及png图片作为背景平铺!!

网上关于这类解决方案大概有3,4种,我这里之说我个人认为最完美的一种:

 

一、首先需要用到的文件: /Files/yaokai/IT 相关/iepngfix.zip  

二、解压后将其中的 iepngfix.htc 文件 和 blank.gif 文件复制到相应的目录,这里要说明的是,这两个文件最好放在同一个目录下,(虽然分开放也可以,但是要修改下iepngfix.htc中blank.gif文件的路径,这里就不详细说明了)。

三、接下来你需要在css中引用iepngfix.htc这个文件,应用格式:

  img, div

    {
        behavior: url(/iepngfix.htc);
    }

  这里的类名是你用到的png文件所在的标签(或类名,建议直接用标签,比较省事);这里要提一下,我看的很多网站上写的方案对这个引用都是 behavior: url(iepngfix.htc);
,这样会造成一些不好的后果,有时会导致有些页面无法实现对png的兼容(这里就不细说了),总之一定要用相对路径。

四、OK,至此,我们已经实现了IE 6.0 对png 图片的兼容,但是对于有用到利用png图片作为背景平铺的页面来说,还没有完,你还要引用一个JS文件(压缩包里也有提供),

  当然,路径最好也是相对的:<script type="text/javascript" src=“/JS/iepngfix_tilebg.js”></script> (这个js不一定要和上面的.htc 文件放一起,只要路径对就OK了)。

五、好了,这样就全面的完成了IE 6 对png的兼容,但是这里有个问题,用户每次打开网页的时候,文件都会遍历页面中的png图片,这样会大大影响网页的速度,降低用户体验,

  所以我们要做的是,让这两个文件,只在用户所用的浏览器为IE 6 的时候才去执行它!!!

  我们可以通过IE 的 if 判断去实现它:

  <!--[if IE 6]>
    <script type="text/javascript" src=“/JS/iepngfix_tilebg.js”></script>
    <style type="text/css">
    img, div, ul, li, table, p, tr, td
    {
        behavior: url(/iepngfix.htc);
    }
    </style>
    <![endif]-->

 这里建议以上这段代码最好写在你有用到png图片的页面头部<head></head>内!(当然,如果使用了母版也,就只要在母版页中加入就行了)!!

  (附:如果还想兼容IE 6 以下的版本只需把“<!--[if IE 6]> ” 改为 “<!--[if lte IE 6]> ” !)

  OK !至此,对于IE 6.0 对png图片的兼容性解决方案就结束了,呵呵,有什么不完善的地方还请各位大虾们多多指教!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值