[技巧心得] IE条件注释与CSS Hacks
2012-11-04 13:24
232 查看
我们知道,IE6的存在,因其预装于目前市场占有率最大的 Windows XP 操作系统。对
于老态龙钟的IE6,说拜拜还需要很长的时间。
IE虽然给我们网页设计师,带来了不少多麻烦,还好,IE条件注释,给我们解决浏览器
兼容问题带来了一个很好的方法。
一、什么是IE条件注释?
IE条件注释,顾名思义就是使用IE特有的条件语句来显示代码块。
这些巧妙的逻辑片段只能被IE浏览器所支持,其它的浏览器理解为纯粹的HTML注释,不
起任何作用。条件注释在IE5中首次出现,并且得到了Widnows浏览器所有后续版本的
支持。IE条件注释及其有效,而且非常容易记住。通过这些技巧,我们可以为基于
Windows的IE5、6、7、8添加一些特殊的行为。这样做的好处是,HTML和CSS代码
可以通过验证。主要的缺点是这些注释需要放在HTML页面中,而不是放在CSS中。这
样,当你不需要这些东西,或者有所更改的时候,就需要维护很多的地方。好处是通过
这种方式使用条件注释,可以很轻松的管理项目中的目标浏览器,并使得CSS补丁文件
保持独立自由。更重要的是它帮助我们优化了CSS样式表,保证了主要样式表的干净,
这对于大型网站来说就很重要了,也许你还没有感觉到它的可爱之处。
作为有Web标准意识的开发者,我们始终应该首先在大部分现有的兼容标准的浏览器上
测试我们的设计,然后再为那些稍作细微修改就能回到正轨的浏览器提供补丁。
二、条件注释使用方法
条件注释属性
* gt : greater than,选择条件版本以上版本,不包含条件版本
* lt : less than,选择条件版本以下版本,不包含条件版本
* gte : greater than or equal,选择条件版本以上版本,包含条件版本
* lte : less than or equal,选择条件版本以下版本,包含条件版本
* ! : 选择条件版本以外所有版本,无论高低
The Code
我们概括性地说明一下你如何使用条件注释,首先,我们应该把你所有的CSS
等CSS文
件放在中。条件注释的基本结构和HTML的注释()是一样的。因此
,IE以外的浏览器将
会把它们看作是普通的注释而完全忽略它们。IE将会根据if条件来判断是否如解析普通的
页面内容一样解析条件注释里的内容。条件注释使用的是HTML的注释结构,因此他们只
能使用在HTML文件里,而不能在CSS文件中使用。
Target
ALL VERSIONS of IE( 所有的IE可识别 )
Target everything EXCEPT IE (除IE外都可识别 )
Target IE 7 ONLY ( 仅IE7可识别 )
Target IE 6 ONLY(仅IE6可识别)
Target IE 5 ONLY(仅IE5.0与IE5.5可以识别 )
Target IE 5.0 ONLY (只有IE5.0可以识别 )
Target IE 5.5 ONLY(只有IE5.0可以识别)
Target IE 6 and LOWER(IE6和IE6以下的)
<!--[if lt IE 7]> <link rel="stylesheet" type="text/css" href="ie6-and-down.css" /> <![endif]-->
Target IE 7 and LOWER(IE7和IE7以下的)
Target IE 8 and LOWER(IE8和IE8以下的)
<!--[if lt IE 9]> <link rel="stylesheet" type="text/css" href="ie8-and-down.css" /> <![endif]-->
Target IE 6 and HIGHER(IE6和IE6以上的)
<!--[if gt IE 5.5]> <link rel="stylesheet" type="text/css" href="ie6-and-up.css" /> <![endif]-->
Target IE 7 and HIGHER(IE7和IE7以上的)
<!--[if gt IE 6]> <link rel="stylesheet" type="text/css" href="ie7-and-up.css" /> <![endif]-->
Target IE 8 and HIGHER(IE8和IE8以上的)
<!--[if gt IE 7]> <link rel="stylesheet" type="text/css" href="ie8-and-up.css" /> <![endif]-->
Universal IE 6 CSS(通用的IE 6样式)
处理IE 6和IE6以下的版本始终是一个超特殊的挑战。老态龙钟的IE6,还保持着高额的
市场占有率,还不能彻底的放弃它,不然会有许多的客户抱怨我们。不过也有些人正在
放弃对它的支持,包括大企业,大型网络应用,甚至政府。有一个不失落的
,不放弃的
解决办法,那就是使用一个特精简的样式 universal IE 6 CSS.,然后为IE 7和以上
(和所有其他浏览器)的应用常规的CSS。
<!--[if !IE 6]><!--> <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" /> <!--<![endif]-->
<!--[if gte IE 7]> <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" /> <![endif]-->
<!--[if lte IE 6]> <link rel="stylesheet" type="text/css" media="screen, projection" href="http://universal-ie6-css.googlecode.com/files/ie6.0.3.css" /> <![endif]-->
于老态龙钟的IE6,说拜拜还需要很长的时间。
IE虽然给我们网页设计师,带来了不少多麻烦,还好,IE条件注释,给我们解决浏览器
兼容问题带来了一个很好的方法。
一、什么是IE条件注释?
IE条件注释,顾名思义就是使用IE特有的条件语句来显示代码块。
这些巧妙的逻辑片段只能被IE浏览器所支持,其它的浏览器理解为纯粹的HTML注释,不
起任何作用。条件注释在IE5中首次出现,并且得到了Widnows浏览器所有后续版本的
支持。IE条件注释及其有效,而且非常容易记住。通过这些技巧,我们可以为基于
Windows的IE5、6、7、8添加一些特殊的行为。这样做的好处是,HTML和CSS代码
可以通过验证。主要的缺点是这些注释需要放在HTML页面中,而不是放在CSS中。这
样,当你不需要这些东西,或者有所更改的时候,就需要维护很多的地方。好处是通过
这种方式使用条件注释,可以很轻松的管理项目中的目标浏览器,并使得CSS补丁文件
保持独立自由。更重要的是它帮助我们优化了CSS样式表,保证了主要样式表的干净,
这对于大型网站来说就很重要了,也许你还没有感觉到它的可爱之处。
作为有Web标准意识的开发者,我们始终应该首先在大部分现有的兼容标准的浏览器上
测试我们的设计,然后再为那些稍作细微修改就能回到正轨的浏览器提供补丁。
二、条件注释使用方法
条件注释属性
* gt : greater than,选择条件版本以上版本,不包含条件版本
* lt : less than,选择条件版本以下版本,不包含条件版本
* gte : greater than or equal,选择条件版本以上版本,包含条件版本
* lte : less than or equal,选择条件版本以下版本,包含条件版本
* ! : 选择条件版本以外所有版本,无论高低
The Code
我们概括性地说明一下你如何使用条件注释,首先,我们应该把你所有的CSS
等CSS文
件放在中。条件注释的基本结构和HTML的注释()是一样的。因此
,IE以外的浏览器将
会把它们看作是普通的注释而完全忽略它们。IE将会根据if条件来判断是否如解析普通的
页面内容一样解析条件注释里的内容。条件注释使用的是HTML的注释结构,因此他们只
能使用在HTML文件里,而不能在CSS文件中使用。
Target
ALL VERSIONS of IE( 所有的IE可识别 )
<!--[if IE]> <link rel="stylesheet" type="text/css" href="all-ie-only.css" /> <![endif]-->
Target everything EXCEPT IE (除IE外都可识别 )
<!--[if !IE]> <link rel="stylesheet" type="text/css" href="not-ie.css" /> <![endif]-->
Target IE 7 ONLY ( 仅IE7可识别 )
<!--[if IE 7]> <link rel="stylesheet" type="text/css" href="ie7.css"> <![endif]-->
Target IE 6 ONLY(仅IE6可识别)
<!--[if IE 6]> <link rel="stylesheet" type="text/css" href="ie6.css" /> <![endif]-->
Target IE 5 ONLY(仅IE5.0与IE5.5可以识别 )
<!--[if IE 5]> <link rel="stylesheet" type="text/css" href="ie5.css" /> <![endif]-->
Target IE 5.0 ONLY (只有IE5.0可以识别 )
Target IE 5.5 ONLY(只有IE5.0可以识别)
<!--[if IE 5.5000]> <link rel="stylesheet" type="text/css" href="ie55.css" /> <![endif]-->
Target IE 6 and LOWER(IE6和IE6以下的)
<!--[if lt IE 7]> <link rel="stylesheet" type="text/css" href="ie6-and-down.css" /> <![endif]-->
<!--[if lte IE 6]> <link rel="stylesheet" type="text/css" href="ie6-and-down.css" /> <![endif]-->
Target IE 7 and LOWER(IE7和IE7以下的)
<!--[if lt IE 8]> <link rel="stylesheet" type="text/css" href="ie7-and-down.css" /> <![endif]-->
<!--[if lte IE 7]> <link rel="stylesheet" type="text/css" href="ie7-and-down.css" /> <![endif]-->
Target IE 8 and LOWER(IE8和IE8以下的)
<!--[if lt IE 9]> <link rel="stylesheet" type="text/css" href="ie8-and-down.css" /> <![endif]-->
<!--[if lte IE 8]> <link rel="stylesheet" type="text/css" href="ie8-and-down.css" /> <![endif]-->
Target IE 6 and HIGHER(IE6和IE6以上的)
<!--[if gt IE 5.5]> <link rel="stylesheet" type="text/css" href="ie6-and-up.css" /> <![endif]-->
<!--[if gte IE 6]> <link rel="stylesheet" type="text/css" href="ie6-and-up.css" /> <![endif]-->
Target IE 7 and HIGHER(IE7和IE7以上的)
<!--[if gt IE 6]> <link rel="stylesheet" type="text/css" href="ie7-and-up.css" /> <![endif]-->
<!--[if gte IE 7]> <link rel="stylesheet" type="text/css" href="ie7-and-up.css" /> <![endif]-->
Target IE 8 and HIGHER(IE8和IE8以上的)
<!--[if gt IE 7]> <link rel="stylesheet" type="text/css" href="ie8-and-up.css" /> <![endif]-->
<!--[if gte IE 8]> <link rel="stylesheet" type="text/css" href="ie8-and-up.css" /> <![endif]-->
Universal IE 6 CSS(通用的IE 6样式)
处理IE 6和IE6以下的版本始终是一个超特殊的挑战。老态龙钟的IE6,还保持着高额的
市场占有率,还不能彻底的放弃它,不然会有许多的客户抱怨我们。不过也有些人正在
放弃对它的支持,包括大企业,大型网络应用,甚至政府。有一个不失落的
,不放弃的
解决办法,那就是使用一个特精简的样式 universal IE 6 CSS.,然后为IE 7和以上
(和所有其他浏览器)的应用常规的CSS。
<!--[if !IE 6]><!--> <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" /> <!--<![endif]-->
<!--[if gte IE 7]> <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" /> <![endif]-->
<!--[if lte IE 6]> <link rel="stylesheet" type="text/css" media="screen, projection" href="http://universal-ie6-css.googlecode.com/files/ie6.0.3.css" /> <![endif]-->
相关文章推荐
- IE条件注释和CSS Hacks
- 学习笔记:IE Hack 条件注释
- IE条件注释
- ie条件注释
- 条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>
- position:fixed——IE条件注释解决方案
- (转)CSS布局参考 IE的If条件注释使用备忘
- 不同版本IE使用不同css(css条件注释语句用法)
- IE 下的条件注释(Conditional Comments)
- 非IE浏览器识别"IE中的条件注释"
- IE 浏览器条件注释详解(html中的注释)
- 针对主流浏览器的CSS-HACK写法及IE常用条件注释
- 针对主流浏览器的CSS-HACK写法及IE常用条件注释
- IE10/11不支持条件性注释后的替代方法
- IE中的条件注释(<!--[if lt IE 7]><![endif]-->)
- 条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>
- 针对IE6、7、8条件注释语句(不同版本IE显示用不用css)
- 条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]>
- IE的另类CSS hack,条件注释
- 【转】IE中的条件注释(<!--[if lt IE 7]><![endif]-->)