解决ie6显示透明图的问题

在我们设置png透明图片时,其他浏览器都显示很正常,唯独只有ie6看着不是透明的状态。

第一种办法是:单独设置ie6的样式。例:

 _background: none;
 _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="images/logo.png");

_background: none;必须加上,不然的话,前面设置的背景图会和单独设置的ie6的样式重复,解决不了这个问题

src:指定图片的路径。要注意的是这个路径是指加载滤镜的页面相对于图片的路径而不是css文件相对于图片的路径。这跟一般的图片加载有区别。不然的话就没有反应。

如果你使用这种办法,后期就不能通过FIS压缩代码,他会把你的CSS压缩到一个文件里,这样会造成路径错误。

第二种办法是把png的透明格式转换为gif的格式,因为这比较复杂,还要用Photoshop,所以个人不推荐。

第三种办法是把透明设改为你需要的背景颜色,这个方法也太麻烦了,我也不建议用

第三中办法是:引用第三方JS解决:DD_belatedPNG.js

<!--[if IE 6]>
<script src="js/DD_belatedPNG.js"></script>
<script>
    DD_belatedPNG.fix("body img");
    DD_belatedPNG.fix("#footer_logo");
</script>
<![ENDIF]-->

如果是img的话就 DD_belatedPNG.fix("body img");这样写,

如果是背景图: DD_belatedPNG.fix("#footer_logo"); 引号里面写的是id号。

个人推荐最后一种方式。

  

posted @ 2015-07-26 18:07  Beta_陳  阅读(111)  评论(0编辑  收藏  举报