浏览器兼容之旅第一站:如何在页面中创建IE条件注释

【浏览器兼容之旅第一站:如何在页面中创建IE条件注释】IE对于大家来说一定很熟悉了,作为一名Web前端开发人员或者是说前端攻程师来说,浏览器的兼容问题一定处理过不少了,特别是IE6的兼容问题,如果你的用户是针对中国市场来说,IE6下的效果是必须得处理了,一个让人头痛而又不得不去面对的一件事情,特别是对于刚接触CSS的童子们,更让无从下手,那么今天我重新开始针对浏览器的兼容问题,说说一些我自己的经验,以及尽可能多的搜集相关经典问题的处理方法 。希望能对有需要的朋友有所帮助 。

中国古语万物都是相生相克的 。这句话用到我们写CSS的人身上也是一样的,不管在哪个浏览器下,出现了问题,首先要追究的问题是我们自己怕HTML结构和CSS样式有没有出问题,然后在看看是不是因为浏览器各自的解析不同而造成的 。千万不要一看到IE出问题,就骂上了IE,其实人家并不是那么差劲,另外有一点也需要注意的就是,不要动不动就使用你知道的HACK手段来解决各浏览器的兼容问题 。小生有自己的一个原则处理各浏览器的兼容问题,未到情非得以的情况下才使用HACK 。

开头来了一大段的开场白,下面我们就开始我们的旅行浏览器兼容之旅的第一站:如何创建条件样式 。
大家都知道!-- -- 是HTML语言中的注释 。它是一种添加到代码中的笔记,让自己或你的团队成员明白你写的是什么,写到什么时候等等信息,这种注释并不会在浏览器中显示出来,但大家在查看页面的源代码时可以看到这一部分,如下面的一个简单实例

复制代码代码如下:
div id="header" Header Section /div
!-- End Header Section Content --

那么我们在上面的基础是增加一个条件语句,我们就可以使用条件注释,我们在平时用到的就是IE的有条件注释 。IE的有条件注释是一种专有的(非标准的)、对常规(X)HTML注释的Miscrosoft扩展 。换句话说,有条件注释使你能够根据条件(比如说浏览器的版本)显示代码块 。尽管是非标准的,但是有条件注释对于其他所有浏览器作为常规注释出现,因此本质上是无害的 。有条件注释在 Windows 上的 IE5 中首次出现,并且得到了 Widnows 浏览器所有后续版本的支持 。

那么为什么要创建条件样式呢?言外之意我们创建条件样式有什么好处呢?创建条件样式优点在于:可以将部分兼容代码识让符合条件的浏览器识别;其二让你的主要样式表整洁,清爽 。不过大家要记住,虽然我们这里说的是创建有条件样式,但这种条件注释标签的使用不仅仅只能用于CSS,你可以应用在javaScript中,他们甚至可以在您的网站内容显示特殊的IE浏览器特定的消息 。下面我们一起来看看其具体的应用,和使用方法 。

调用条件样式的方法
我们调用条件样式方法和link标签一样,常常放置在head标签中 。和前面所见识的普通注释不一样的是,这里需要加上条件判断,具体格式如下所示:

复制代码代码如下:
!--[if IE]
...
![endif]--

在具体使用条件注释语句之前,有几种条件注释属性含义我们必须要理解:
gt(greate than): 选择条件版本以上版本,不包含条件版本本身;
lt(less than): 这个刚好与gt相反,表示的是选择条件版本以下的版本,不包含条件版本自身;
gte(greate than or equal): 选择条件版本以上版本,并包含条件版本自身;
lte(less than or equal): 选择条件版本以下的版本,并包含条件版本自身;
!:选择条件版本以外所有版本,无论高低 。

条件样式的使用方法
下面我们一起来看针对不同版本如何使用条件样式

推荐阅读