常用的两种解决方案:
第一:使用IE滤镜解决
关键代码:
css代码
_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='css/images/png24.png',sizingMethod='crop');
有几点注意点:
1:这里对应的src地址一定是相对于html页面的不是相对于css路径的。
2: 只能对单张的 png图片使用,意思是不能使用background-position的属性。
3: 必须加上 _background:none 这段。
第二: 使用DD_belatedPNG的js代码。
使用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两种)。
- 如DD_belatedPNG.fix(‘#box-one, img’) 或者 DD_belatedPNG.fix(‘.header, background’) 等。
- 更多选择器的如 DD_belatedPNG.fix(‘#box-one, .header, img,background’);
- 带有hover效果的写成 DD_belatedPNG.fix(‘#box-one, #box-one:hover’)
第一:DD_belatedPNG插件式支持backgrond-position等定位方法。所以可以使用"雪碧图"
第二: DD_belatedPNG支持hover方法,但是必须把hover之后的class也写进fix方法中去。