在我们设置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号。
个人推荐最后一种方式。