浏览器兼容代码:
|
IE6
|
IE7
|
IE8
|
FF
|
||
*
|
√
|
√
|
×
|
×
|
||
!important
|
×
|
√
|
×
|
√
|
||
_
|
√
|
×
|
×
|
×
|
||
\9
|
×
|
×
|
√
|
×
|
||
*html
|
√
|
×
|
×
|
×
|
||
*+html
|
×
|
√
|
×
|
×
|
说明:”√”代表能识别;” ×”代表不识别
1、 案例一(常用)
如果各个浏览器的高度都不相同,代码如下:
.warp{
Height:100px; /*IE6、IE7、IE8、FF识别*/
Height:110px\9; /*IE8识别*/
*height:120px!important; /*IE7 识别*/
*height:130px; /*IE6、IE7识别,但上一段代码中!important的级别比*号的级别高,所以此段代码只有IE6中才有效*/
}
2、 案例二
如果各浏览器高度只有IE6和IE7中相同,而FF不同,代码如下:
.warp{
Height:100px; /*IE6 、IE7、 IE8、FF识别*/
*height:120px; /*IE6、IE7识别*/
}
3、 案例三
对各浏览器单独写不同代码,如下:
.warp{ height:200px; } /* IE6 、IE7、 IE8、FF识别*/
.warp{ height:300px\9;} /*IE8识别*/
*html .warp{ hegith:210px; } /*IE6识别*/
*+ html .warp{ height:300px;} /*IE7识别*/
4、 案例四
如果各浏览器高度相同只有IE6的不同,代码如下:
.warp{
Height:100px; /* IE6 、IE7、 IE8、FF识别*/
_Height:120px; /*IE6识别*/
}
还好,微软提供了这样一个代码:
<meta http-equiv="x-ua-compatible" content="ie=7" />
把这段代码放到<head>里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了
background:#ffc; /* 对firefox有效*/
*background:#ccc; /* 对ie7有效 */
_background:#000; /* 只对ie6有效 */
<meta http-equiv="x-ua-compatible" content="ie=7" />
把这段代码放到<head>里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了
background:#ffc; /* 对firefox有效*/
*background:#ccc; /* 对ie7有效 */
_background:#000; /* 只对ie6有效 */
解释一下吧:
firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;
firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;
ie7前两短都能认,以最后的为准,所以最后解析是background:#ccc,看到的是灰色;
ie6三段都能认,而且“_”这个只有ie6能认,所以最后解析是_background:#000,看到的是黑色
ie8的那段兼容7的代码我也测试过了,在我现在的windos 7 测试版所带的ie8是没问题的,以后ie8正式版出来还管不管用就不知道了。
ps:如果你发现按我这样写还是有问题的话,请查看一下你的html头,看看<head>之前的内容是不是这样的标准写法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html xmlns="http://www.w3.org/1999/xhtml">
这个是现在比较规范的写法,如果你是用dreamweaver做页面的话,默认也是这种规范的,切记,非这种规范写法的,兼容性不能保证