CSS样式表渐进增强的应用
了Web标准。接着打开IE7来测试。大部分情况下也没多少问题,偶尔需要触发hasLayout或者修正另一些布局上的小错误。我没有将这些修正补丁写入到基本套件的样式表文件中,而是添加到ie7.css中,并且在文档的HEAD中通过条件注释来引入:
<!-- [if lte IE 7]> <link rel="stylesheet" type="text/css" href="ie7.css" /> <[endif]--> 上面的条件注释使得IE7及其以下版本(译注:lte是less than or equal的缩写)能识别引入的样式。因此,当用IE7浏览页面时,将获取这些补丁。但是如果用的是新版本的IE——可能已经修复这些问题,比如IE8抛弃了hasLayout从而不再有这些问题——将忽略这些样式。另一方面,使用IE6可以获取到这些样式。这是很好的,因为在IE7中的渲染错误往往也存在于IE6中。上文中已经提及,IE7及其以下版本无法理解带媒介类型的@import,通过这种方式引入screen.css对IE7及其以下版本是无效的。因此,还需要在ie7.css文件的顶部添加不带媒介类型的@import语句来引入screen.css. 一旦为IE7添加完补丁,我会打开IE6, 看看是否需要随手打些补丁。如果确实需要,我会给文档添加另一个条件注释,引入ie6.css: <!-- [if lte IE 7]> <link rel="stylesheet" type="text/css" href="ie7.css" /> <[endif]--> <!-- [if lte IE 6]> <link rel="stylesheet" type="text/css" href="ie6.css" /> <[endif]--> 接着,简单地将IE6需要的补丁添加到对应的样式表中,这些样式表将被IE7忽略,但是会依旧往下影响到IE5.5等版本。 通过这种方式使用条件注释,可以很轻松的管理项目中的目标浏览器,并使得CSS补丁文件保持独立自由。 其它考虑CSS渐进增强并不局限于如何将样式表与文档关联起来,还可以应用在如何编写CSS上。 例如,考虑生成的内容(译注:比如用:after伪类生成的内容)。并非所有浏览器都支持,但这是一个很好的方法:可以用来添加一些额外的设计或文本。对于页面的可用性来说,这不是必须的,但这能提供一些视觉或其它方面上的增强。 拿简单的联系表单来举个例子: 当编写上面的HTML代码时,很可能会自然地将冒号(:)写在label元素里。为什么要这样做?真的给label元素添加了内容吗?并没有。这样做的目的是给用户 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |