关注前端开发
关注用户体验

DD_belatedPNG解决IE6下PNG不透明问题

尽管大前端决定不再对IE6进行神马支持了,但这种需求还在,就整一个吧!一下是转载知更鸟的内容,实用就好。

众所周知IE6不支持透明的PNG图片,而PNG图片在Web设计方面表现力上,具有其它图形格式所达不到的效果,IE6这一致命缺陷极大地限制了Web设计的创意发挥。虽然解决IE6的透明PNG的方法也很多,从使用IE特有的滤镜或是e­xpression,再到javascript+透明 GIF替代.但是这些方法都有一个缺点,就是不支持CSS中backgrond-position与background-repeat属性。而使用DD_belatedPNG.js可完美的解决IE6下PNG图片透明问题,并且支持backgrond-position与background-repeat. 这是其他方法所不具备的,同时DD_belatedPNG还支持a:hover属性,以及<img>。

使用方法:

首先下载JS文件:0.0.8a-min.js (压缩版) 0.0.8a.js (未压缩版本)

之后在页面中引用代码:

<!–[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两种)。

  1. 如DD_belatedPNG.fix(‘#box-one, img’) 或者 DD_belatedPNG.fix(‘.header, background’) 等。
  2. 这些可以简写成 DD_belatedPNG.fix(‘#box-one, .header, img,background’);
  3. 更多选择器的如 DD_belatedPNG.fix(‘#box-one, .header,#footer,.box-two a:hover, img,background’);
未经允许不得转载:大前端 » DD_belatedPNG解决IE6下PNG不透明问题
分享到:更多 ()

评论 17

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #12

    参数不对吧,应该是可以传入CSS选择器或Element对象,至少最新版本0.0.8a是这样子的。

    ijse5年前 (2012-11-07)回复
  2. #11

    啊啊 为什么我用了这个 还是带毛边的。。。

    夏之~~5年前 (2012-05-10)回复
  3. #10

    在用position的时候会出现一些bug

    梦飞5年前 (2012-01-05)回复
  4. #9

    老外 的皮上经常看到这个脚本的影子。

    Demon6年前 (2011-11-11)回复
  5. #8

    还是用PNG8做降级处理比较靠谱~

    Zodiac6年前 (2011-07-27)回复
    • 可能你还没有遇到这样的需求,有时候png24是无奈啊

      浩子6年前 (2011-07-28)回复
      • 可能现实情况的确无法避免PNG24,那是因为一些主观上的客户要求。但个人觉得更好的方式应该是从设计上避免问题的产生,而不是为了满足要求去解决问题。不过这也只能是一种无奈了~

        Zodiac6年前 (2011-07-28)回复
  6. #7

    我也用这个,确实是不错;

    vimest6年前 (2011-07-13)回复
  7. #6

    ie6啊,世界都好末日了,你咋还坚挺中。。。

    阿健6年前 (2011-06-29)回复
  8. #5

    一直在用DD_belatedPNG解决IE6的PNG图片透明问题,但是它有个bug,使用PNG图片作为背景的时候经常会出现IE6下错位的情况,需要hack。

    Ethan6年前 (2011-05-26)回复
    • 今天发现,IE6下的这个BUG,偏移的居然还不是1px,楼上如何hack?

      我的职业生涯6年前 (2011-11-16)回复
      • 可以简单的通过 position:static 来解决.
        position:relative 会有bug的.

        lshine5年前 (2012-03-08)回复
  9. #4

    我前几天刚好也用到了这个,哈哈

    水中月明6年前 (2011-04-15)回复
  10. #3

    很讨厌ie6

    web前端寒风6年前 (2011-04-14)回复
  11. #2

    蛋疼的IE6, ➡

    神秘唯一6年前 (2011-02-16)回复
  12. #1

    这个不错~

    yes i am6年前 (2011-02-15)回复

themebetter 国内更好的WordPress主题服务商

立即前往