自从上次介绍一种在IE6下使png透明的方式之后,今天又遇到一种更加完美的解决方案 DD_belatedPNG,详细的使用方法大家可以看文档,我这里只是简单说一下如何来使用(其实使用的时候也非常简单):
首先是在DD_belatedPNG网站上下载js文件,可以选择压缩后的文件,然后按照下面的方式在页面中引用(这一点和unitpngfix调用方式一样):
接下来就是体现DD_belatedPNG灵活性的一面了,与UnitPNG不同,DD_belatedPNG需要你使用一个js脚本来指定所要渲染的页面对象,其选择方式与CSS中选择器的方式相同。像上面的例子就是选择页面中所有class为png_bg的DOM对象。
另外,为了做一个统一的设置,我的做法是直接在DD_belatedPNG.js文件后面加上DD_belatedPNG.fix(‘.png_bg’);,这样只要在页面中设定DOM对象的class为png_bg就可以了,这一点可以做到与UnitPNG相同,只不过UnitPNG的名称是固定的,而DD_belatedPNG可以随心所欲了。
另一种css滤镜方法:
首先是在DD_belatedPNG网站上下载js文件,可以选择压缩后的文件,然后按照下面的方式在页面中引用(这一点和unitpngfix调用方式一样):
<!--[if lt IE 7]>
<script type="text/javascript" src="scripts/DD_belatedPNG.js"></script>
<script type="text/javascript">
// 设定需要渲染的DOM对象
DD_belatedPNG.fix('.png_bg');
</script>
<![endif]-->
接下来就是体现DD_belatedPNG灵活性的一面了,与UnitPNG不同,DD_belatedPNG需要你使用一个js脚本来指定所要渲染的页面对象,其选择方式与CSS中选择器的方式相同。像上面的例子就是选择页面中所有class为png_bg的DOM对象。
另外,为了做一个统一的设置,我的做法是直接在DD_belatedPNG.js文件后面加上DD_belatedPNG.fix(‘.png_bg’);,这样只要在页面中设定DOM对象的class为png_bg就可以了,这一点可以做到与UnitPNG相同,只不过UnitPNG的名称是固定的,而DD_belatedPNG可以随心所欲了。
另一种css滤镜方法:
_background: url(about:blank);
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='图片地址',sizingMethod='crop')