本文来源:网站建设-网站制作|网络营销专家慧云科技-抢滩登陆2009-11-10 9:20:37
CSS过滤器是一种对特定的浏览器或浏览器组显示或隐藏规则或声明的方法。
网站建设过滤器根据浏览器中的缺陷,比如解析bug以及未实现或错误地实现的CSS,对浏览器显示或隐藏规则。
CSS招数是一种让浏览器表现得符合自己希望的不优雅的方法。
建站研究CSS招数通常用来解决特定的浏览器bug,比如IE的专有框模型。建站新闻不幸的是,招数这个词有比较强的负面意义,而且它暗示着还有更好的方法,尽管常常没有。因此,有些人喜欢用补丁这个词表示它实际上利用了不正确的浏览器行为。
CSS招数可以使用过滤器将一个规则应用于一种浏览器,将另一个规则应用于另一种浏览器。招数也可以利用不正确的CSS实现,从而哄骗浏览器表现得符合自己的希望。从本质上说,CSS过滤器是一种用来过滤不同浏览器的招数类型。不幸的是,大多数人一般使用通用词招数来描述过滤器。因此,当人们谈到CSS招数时,他们往往是特指过滤器。
作为一种语言,CSS设计成具有很强的向前兼容性。如果浏览器不理解某个选择器,那么它会忽略整个规则。同样,如果它不理解某个属性或值,它就会忽略整个声明。这个特性意味着添加新的选择器、属性和值应该不会对老式浏览器产生严重的影响。
可以利用这个特性,对比较高级的浏览器应用规则和声明,
网站建设可以确定老式浏览器会平稳地退化。当浏览器的新版本发布时,建站模板如果它现在支持你作为过滤器使用的CSS,那么它应该会如预期那样工作。因为浏览器会越来越符合标准,如果使用比较高级的CSS客服老式浏览器中的问题,这个问题很有希望在新版本中得到解决。因此,使用不支持的CSS作为过滤机制是一种相对安全的方法。之所以说相对是因为浏览器可能支持新的CSS,但是仍然表现出你试图修复的bug。
使用依赖于解析bug的过滤器是一种有点冒险的方法。这是因为依赖于bug而不是特性。与前面的方法相似,如果解析bug被修复了,
建站方案你试图修复的bug还没有得到解决,那么可能会遇到问题。但是,更严重的是,解析bug在浏览器的新版本中可能有新的表现形式。例如,假设Firefox的一个新版本有某个解析bug。如果使用这个bug作为过滤器向IE提供不同的宽度值,从而解决专用框模型的问题,那么Firefox有可能突然继承这个宽度,这可能会破坏许多站点的设计。
还要记住一点:某些招数和过滤器会使你的代码失效。例如,
网站建设使用CSS3选择器会导致检验失败,因为检验器当前只针对CSS2规范进行检验。但是,如果几种浏览器支持这种选择器,网络建设那么它很可能会进入最终的规范。在这种情况下,只要你确定正在使用有效的CSS3,那么即使你的CSS无法通过CSS2的检验,也不是什么大问题。比较麻烦的是那些使用非法字符的招数,因为它们可能在以后开发出的浏览器中导致各种解析错误。
作为一般规则,使用依赖于不支持的CSS的过滤器,而不是依赖于某种浏览器bug的过滤器,这可能比较安全。