‘分享’ 分类的存档
解决透明png文件的显示以及CSS兼容问题一直是网页制作时的头痛问题。大家知道ie6不能支持png的alpha透明,还有在ie7上显示好好的页面,在ie6上可能会出现错乱。这些可能是由于浏览器不支持新的CSS标准造成的。可毕竟现在还有很多人在用着IE6,甚至还有win2000。我们必须考虑到兼容问题。从刚开始接触DIV+CSS,到学着为自己的博客制作皮肤,一直都在关注和搜集有关如何解决png透明图片在ie6下完美显示的方法。在前面我已经介绍了三种方法(详见本篇相关日志)。这几天碰巧在书上又看到看一篇。切听我详细说来,因为比较好奇AJAX技术,去图书馆借了本美国人JOSHUA EICHORN编写、国人翻译的《深入理解Ajax——基于ja》这本书。随意翻看,偶然发现附录介绍了很多比较使用的JAVA DHTML 程序库。而且很多介绍的JS程序都是用来解决修正网页现实问题的。其中Dean Edwards IE7又给了我们一个新的方法来来解决png透明显示问题。Dean Edwards IE7是一种跨浏览器的程序库,它使用JavaScript来扩展IE5,IE6。起什么作用呢?大家知道很多css属性都只能在一定的ie版本或者特定的浏览器上起作用。而通过Dean Edwards IE7的扩展,就可以很简单的不用任何客户端的升级即可使这些客户端浏览器能够支持新的CSS标准。它还解决了血多页面布局的问题,并修正了透明png文件的显示问题。这一直是IE6及其一下版本的bug。对于针对符合新标准的浏览器(比如Firefox)开发,并希望能够在IE中正常工作的网站而言,它能够很容易的集成进去并实现该任务。
IE6不能支持png图片的alpha透明是IE6的一个bug。之前我用到了在css中通过behavior方法调用htc文件来解决ie6下png透明图片alpha透明不能正确显示的方法。这个方法的有点就是方便,只需要加上一句简单的语句即可。但是有许多弊病,表现之一就是网页加载速度明显变慢。网页首先加载png图片(显示灰色轮廓),之后才修正png透明。所以在最后页面会不停的闪烁。今天又找到了一个利用css hacks 解决png透明的方法。
css 代码
#head {
width:820px;
height:120px;
background:url(images/head.png) no-repeat;
*background-image: none;
*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=Theme/Aero/images/head.png, sizingMethod=scale);
}
在用到的地方参考以下css语句,具体自己修改

