针对主流浏览器的CSS-HACK写法及IE常用条件注释

对于前端工作者,最痛苦的事莫过于浏览器兼容性的调试,而这最痛苦的事中,最变态的莫过于微软的三个版本IE6.0/IE7.0/IE8.0. 为了让所写代码在各主流浏览器中正常运行,我们不得不为各种浏览器写对应的样式。本文,青鸟将为你总结CSS针对各浏览器的兼容HACK(以IE6/IE7/IE8 /FF为主),以及IE特有的条件注释使用方法.
一、通用区分方式:
IE6、IE7能识别*,标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important;
IE7能识别*,也能识别 !important;
IE8能识别,不能识别*,+,_,* 加!important;
FF不能识别*,但能识别 !important;
例如style=”*width:10px!important; width:20px;”,其在IE7下宽度为10px,在IE6下宽度是20px.
其中还有如下三种写法:
第一种

width:100px; /* FireFox及其他浏览器 */
width:200px; /* IE8能识别*/
*width:300px!important; /* ,IE7 既能能识别*号,也能识别important */
*width:400px; /* IE6也能识别*号 */
/*Mr.Think提示:请注意书写顺序@MrThink.net*/

第二种

width:100px; /* FireFox及其他浏览器 */
width:200px; /* IE8能识别*/
*width:300px; /* IE7也能识别*号 */
_width:400px; /* IE6能识别下划线*/
/*Mr.Think提示:请注意书写顺序@MrThink.net*/

第三种

width:100px; /* FireFox及其他浏览器 */
width:200px; /* IE8能识别*/
+width:300px; /* +只识别IE7 */
_width:400px; /* IE6能识别下划线*/
/*Mr.Think提示:请注意书写顺序@MrThink.net*/

二、不常见的HACK(OP表示Opera,SA表示Safari),其中第3条比较实用
1..color1{ color:#F00; color/***/:#00F /***/}/*IE6,IE7,IE8,FF,OP,SA识别*/
2..color2{ color:#F00; color /***/:#00F /*9**/}/*IE7,IE8,FF,OP,SA识别*/
3..color3{ color:#F00; color/***/:#00F 9}/*IE6,IE7,IE8识别*/
4..color4{ color:#F00; color /***/:#00F9}/*IE7,IE8识别*//*“color”和“/***/”之间有个空格*/
三、各种浏览器独立支持的hack
width:100px;/* 支持IE8 */
_width:100px; /* 支持IE6 */
[width:100px; /* 支持IE6,7 */
+width:100px; /* 支持IE6,7 */
*width:100px; /* 支持IE6,7 */
*width:100px!important; /* 支持IE6,7, */
*+width:100px; /* 支持IE6,7, */
*+width:100px!important;/* 支持IE6,7, */
width:100px9; /* 支持IE6,7,8 */
width:100px!important; /* 支持IE6,7,8,FF */
width:100px; /*IE5.x不支持 IE6、IE7、IE8、FF支持 */

四、IE特有的html条件注释使用规则
1.仅IE可见的写法

<!--[if IE]>此处内容只有IE可见<![endif]–>

2.仅IE6可见的写法

<!-–[if IE 6]>此处内容只有IE6.0可见<![endif]–->

3.仅IE7可见的写法

<!–-[if IE 7]>此处内容只有IE7.0可见<![endif]–->

4.版本区间可显示写法

<!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]-->

<!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->

<!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]-->

<!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
 
5.非IE可见的写法(注意:此条不符合WEB标准,但的确实用)

<!--[if !IE]>此处内容只非IE可见<![endif]-->
时间: 2024-08-21 12:01:54

针对主流浏览器的CSS-HACK写法及IE常用条件注释的相关文章

不同浏览器中CSS Hack写法

区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !important;background:blue; 区别IE7与FF: background:orange; *background:green; 区别FF,IE7,IE6: background:orange;*background:green !important;*background:blue; 注:IE都能识别*;标准浏览器(如FF)不

探究针对GoogleChrome的CSS hack写法

本节和大家一起学习一下针对GoogleChrome谷歌浏览器的CSS hack的使用,CSS hack是因为现有浏览器对标准的解析不同,为了兼容各浏览器,所采用的一种补救方法:也有人说CSS hack是一种类似作弊的手段,以欺骗浏览器的方式达到兼容的目的,是用浏览器的兼容性差异来解决浏览器的兼容性问题. CSS hack简介 CSS hack是因为现有浏览器对标准的解析不同,为了兼容各浏览器,所采用的一种补救方法. CSS hack是一种类似作弊的手段,以欺骗浏览器的方式达到兼容的目的,是用浏览

针对不同浏览器的CSS样式声明

在一些大型的网站HTML代码中,我们经常会看到<!--[if IE 6]><!--[if IE 7]>之类的代码,那么,他们有什么用呢? 这些代码在大多前端设计中很少会应用到,其实这是针对不同浏览器的样式声明,达到一个兼容的效果,下面提供一个示例给大家参考: <!--[if IE 6]> <style> #head_menu_main li a span{ line-height:14px} #head_menu_country li a{ font:12p

CSS Hack技术介绍及常用的Hack技巧集锦

 一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack. CSS Hack常见的有三种形式:CSS属性Hack.CSS选择符Hack以及IE条件注释Hack, Hack主要针对IE浏览器. 1.属性级Hack:比如IE6能识别下划线"_"和星号" * ",IE7能识别星号"

CSS hack写法区分不同浏览器IE6 IE7 firefox:

区别IE6与FF:        background:orange;*background:blue; 区别IE6与IE7:        background:green !important;background:blue; 区别IE7与FF:        background:orange; *background:green; 区别FF,IE7,IE6:        background:orange;*background:green !important;*background

2010全面兼容IE6/IE7/IE8/FF的CSS HACK写法

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的.加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie7的方法又不能用了,怎么办呢? 第一种方法: 还好,微软提供了这样一个代码: <meta http-equiv="x-ua-compatible" content="ie=7" /> 把这段代码放到里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本

CSS小技巧:IE8浏览器的css hack

文章简介:随着win7使用者的不断扩大,开始将ie8纳入开发兼容浏览器范围. 随着win7使用者的不断扩大,开始将ie8纳入开发兼容浏览器范围 "\9" 例:"margin:0px auto\9;".这里的"\9"可以区别所有IE和FireFox."*" IE6.IE7可以识别.IE8.FireFox不能."_" IE6可以识别"_",IE7.IE8.FireFox不能. .color{

实例解析一款针对IE6的CSS hack用法

本文通过实例向大家描述一下IE6的CSS hack用法,我们以一个LOGO为实例,讲解了针对IE6,应用CSS HACK设置有别于IE7和FF的效果.具体内容请看本文详细介绍,相信本文介绍一定会让你有所收获. 一款针对IE6的CSS hack用法实例 CSS网页布局的兼容性问题一直困扰着大家,其实在51cto.com以前的文章中也有着丰富的CSS HACK与CSS兼容性的文章,只是有些文章可能讲的比较抽象而没有实例化,不便于大家的理解. 现在要讲解的是一个关于IE6的CSS HACK的用法.我们

一个针对IE7的CSS Hack

css IE7 修复了很多 bug,也增加了对一些选择符的支持,所以现在诸如 *html {} 和 html>body {} 等针对 IE 隐藏或显示的 hack 都会在 IE7 中失效.虽然 CSS Hack 不推荐使用,条件注释才是万无一失的过滤器,但是条件注释只能出现在 HTML 中,CSS Hack 还是有用武之地的.Nanobot 发现了一些针对 IE7 的 CSS Hack,具体就是: >bodyhtml**+html 这三种写法,其中前两种都是不合法的 CSS 写法,在标准兼容浏