1.用iepngfix
示例:http://www.twinhelix.com/css/iepngfix/demo/
下载地址:http://www.twinhelix.com/css/iepngfix/
优点:能够整个页面都能自动处理PNG-24的透明背景,不用特意去做另一幅图片代替等麻烦。
缺点:不能用太多,否则页面加载速度大大变慢。
*************************************************************************************************
2.用滤镜效果
虽然不是每个浏览器都能支持滤镜,但只是为了解决PNG-24透明背景,就无所谓啦。
来源:有道的源代码
<style>
body {
background:url(bg.gif);
}
.test {
width:451px;
height:42px;
background:url(test.png);
_background:none;
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.png',sizingMethod='crop');
}
</style>
<div class="test"></div>
优点:代码少,简单。
缺点:对PNG-24图片的图片都要用上滤镜
*************************************************************************************************
3.用PNG-8的图片代替
来源:网络
PNG-8一般都是用PS保存:(在“文件->存储为Web和设备所用格式”上保存,有时候会用上下图里的“扩散透明度仿色”)
优点:不用像上面所说那样处理
缺点:如果有圆角的话,会看起来有点直角的感觉,如果图片外边有渐变(包括阴影效果)会很容易让阴影的大部分颜色被其它颜色所代替,产生失真大
*************************************************************************************************
4.使用CSS hack
能让PNG-24正常显示的就直接显示,否则使用CSS hack来替换其它格式图片(如jpg),这个方法是看别人的源码才知道的,属于最无奈的方法。
优点:暂时想不到,至少能让图片正常一点的显示。
缺点:网站的文件多,占用空间大,修改不方便。
*************************************************************************************************
PS:PNG-8与GIF的透明背景都能让IE6直接显示,但与PNG-24对比,图片失真得太离谱了