1、hack 书写规范: IE6、IE7、Firefox 之间的兼容写法hack 书写规范:因为不同浏览器对 W3C 标准的支持不一样,各个浏览器对于页面的解释呈视也不尽相同,就需要利用 css 的 hack 来进行调整,当然在没有必要的情况下,最好不要写 hack 来进行调整,避免因为 hack 而导致页面出现问题。1、 IE6、IE7、Firefox 之间的兼容写法:写法一:IE 都能识别*; 标准浏览器(如 FF)不能识别*;IE6 能识别*, 但不能识别 !important, 只针对 IE6 及以下版本用 *html 开头,例:*html h1IE7 能识别*, 也能识别 !import
2、ant;FF 不能识别*,但能识别 !important;根据上述表达,同一类/ID 下的 CSS hack 可写为:.searchInput background-color:#333; /*三者皆可*/*background-color:#666 !important; /*仅 IE7*/*background-color:#999; /*仅 IE6 及 IE6 以下*/ 写法二:一般三者的书写顺序为:FF 、IE7 、IE6IE6 可识别“_”,而 IE7 及 FF 皆不能识别,所以当只针对 IE6 与 IE7 及 FF 之间的区别时,可这样书写:.searchInput backgro
3、und-color:#333;/*通用*/_background-color:#666;/*仅 IE6 可识别*/ 写法三:*html 针对 IE6 ,htmlbody 针对 IE7例:*html #header width:900px; 针对 IE6htmlbody #header #navtag width:900px;IE 的 if 条件 hack 写法:所有的 IE 可识别 : Only IE 只有 IE5.0 可以识别 : Only IE 5.0 IE5.0 包换 IE5.5 都可以识别: Only IE 5.0+ 仅 IE6 可识别: Only IE 6- IE6 以及 IE6 以
4、下的 IE5.x 都可识别: Only IE 6/+ 仅 IE7 可识别: Only IE 7/- 加在 head 之间的IE8 兼容处理:这样我们才能使得页面在 IE8 里面表现正常!兼容 ie7、8在 IE9 的文档模式下工作一、IE8以及以下版本浏览器对于 IE8及其以下版本的浏览器,就是使用本文标题所提到的”9 hack。如下代码:.ie6_7_8color:blue; /*所有浏览器*/color:red9; /*IE8以及以下版本浏览器*/说明:使用如上所示,在分号之前属性时候添加”9 就可以了,为什么添加”9可以区分目前的 IE 浏览器和其他浏览器我是不知道的,这里只能使用”9
5、,像是”8或是”ie”都是无效的,这个还是比较有趣的。二、IE7以及以下版本浏览器这个知道的人应该很多,也是很基本的,就是使用”*”号了,如下示例代码:.ie6_7_8color:blue; /*所有浏览器*/color:red9; /*IE8以及以下版本浏览器*/*color:green; /*IE7及其以下版本浏览器*/三、IE6浏览器就本文而言,使用下划线”_” 区分 IE6浏览器是最好的选择,如下代码:.ie6_7_8color:blue; /*所有浏览器*/color:red9; /*IE8以及以下版本浏览器*/*color:green; /*IE7及其以下版本浏览器*/_color:purple; /*IE6浏览器*/如果不想 IE8 不小心进入了 IE7 模式或者其它模式可以使用下面的一句放在 head 头里在下方比较好注:只针对 IE6 及以下版本用 *html 开头,例:*html h1;也可以用*html 覆盖其他(更好的)浏览器可以正常显示而 IE 却出错的样式中的某些设置,在这种情况下,就要将*html 放在正确的样式之后。