CSS布局教程

基于web标准的网站设计指南

« 图文混排背景图像应用 »

CSS Bug,Hack和Filter简介

    CSS是一种比较容易学學习的样式语言,语法简单明了,不需要编写复杂的逻辑。但作为一种网页样式标准,它需要在不同浏览器上实现表现层统一。不过各大主流浏览器由不同厂家开发,所用的核心架构和代码也很难重和,这就为各种莫名其妙的Bug(代码错误)提供了温床。再加各大厂商出于自身利益考虑而设置的种种技术壁垒,都使CSS应用起来比想象得要麻烦。简单问题复杂化,这是所有设计师不愿看到的,但还必须去努力克服。
    Hack本是一种改进或者扩展系统功能的小程序,或者只是一些代码片断的集合。多与电脑黑客(hacker)、病毒程序联系在一起。在CSS中,Hack是指一种兼容CSS在不同浏览器中正确显示的技巧方法,显然这种称呼带有很强的消极情绪,因为它们都属于个人对CSS代码的非官方的修改,或非官方的打补丁。有些人更菴喜欢使用Patch(补丁,来描述这种行为。
    Filter表示过滤器的意思,这里不是IE支持的CSS Filter滤镜特效。它是一种对特定的浏览器或浏览器组显示或隐藏规则或声明的方法。例如,由于IE 5.x及以下版本浏览器对盒模型解析存在Bug,需要分别针对IE 5.x及以下版本浏览器与其他类型和版本的浏览器编写不同的规则。CSS Hack(CSS兼容补丁代码,在后面小节中将详细介绍)就可以使用Filer过滤器将一个规则应用到IE器,而将另一个规则应用到非IE浏览器中。本质上讲Filter是一种用来过滤不同浏览器的Hack型。
   CSS Hack技术为兼容CSS提供了方便,但由于Hack是一种非官方技术,它主要依赖各种特殊符的组合,以及规则和声明的重复定义实现在不同浏览器之间达到相同的显示效果。但这彆代码也带来了一些副作用,例如,降低了CSS代码的可读性,增加了代码的负担。天津网站建设天津网站优化汽车玻璃商业策划招商天津网站制作
   设计CSS Hack和Filter通常有两种方法:一种是利用浏览器自身的Bug,来隐藏或显示样式或声明;一种是利用浏览器对CSS支持的不完善,如对某些规则或语法还没有形成哀持,来隐藏或显示样式。我们赞成使用第2种方法来实现浏览器兼容,这样当浏览器版本升级时,浏览器会越来越合标准,如果它支持了这些作为过滤器的CSS代码,那么它应该会按预期设计显示页面,而不会出现所设计的Hack CSS代码失效,而页面出现的Bug仍然没有得到解决的尴尬。相反、解析的Bug设计的过滤器就会存在失效的风险。如果使用比较高级的CSS规则来克服某个低级版本浏览器中的各种Bug,这样设计出来的Hack也是最安全的。由于在过滤器和Hack代码中使用了大量复杂的注释、转义字符等。有时会使样式代码失效。至一些非法的字符会破坏浏览器对样式的解析。因此,设计师在使用Hack时,要三思而后行,养成过分依赖Hack的思想,如果没有必要,就不要使用。例如,如果页面仅就宽度在不同浏中相差1~2个像素,只要不影响页面的显示效果,就不必为此而大打补丁。使用CSS Hack时,应充分了解Hack代码在不同浏览器中的表现,如果经过充分研究,只需要应用很少的Hack,就能够实现相同的表现效果,这也是最安全的选择。Filter过滤器可以过滤整个样式表文件,也可以对某个具体的规则或声明进行过滤。

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Arwen Build 90619

Copyright www.zxh6655.cn. Some Rights Reserved.黑ICP备09093629号