DIV+CSS浏览器兼容问题一直困绕着许多从事DIV+CSS网页排版的美工人员,尤其是IE与火狐的兼容。用DIV+CSS布局的网页在IE下显示一切正常,可是在火狐(FireFox)浏览器里打开,本来好好网页一下子就全乱了,这一定会影响到你的网站的推广,seo优化,不利于搜所引擎的搜索,所以解决DIV+CSS浏览器兼容的问题是完全必须的。
下面来看一下DIV+CSS浏览器兼容的实例,区分IE6,IE7,firefox火狐浏览器CSS的写法:
先来分开区分一下。
◆首先声明DIV+CSS浏览器兼容性IE6与IE7与火狐(firefox)的一些识别规则:
1.IE都能识别*;标准浏览器(如FF)不能识别*;
2.IE6能识别*,但不能识别!important,
3.IE7能识别*,也能识别!important;
4.firefox不能识别*,但能识别!important;
◆请看下简单的DIV+CSS浏览器兼容实例:
1.IE6和firefox的区别:
background:orange; *blue;< /span>
意思就是火狐浏览器的背景颜色是橙色,而IE浏览器的背景色是蓝色.
2.IE6和IE7的区别:
background:green!important; blue;< /span>
意思指的是:IE7的背景颜色是绿色,IE6的背景颜色是蓝色
3.区别IE7与FF:
background:orange; *background:green;
意思指的是:火狐浏览器的背景颜色是橙色,而IE7的背景颜色是绿色
4.FF,IE7,IE6:
background:orange; *background:green!important; *blue;< /span>
意思是火狐浏览器的的背景橙色,IE7浏览器的背景颜色是绿色,而IE6浏览器的颜色是蓝色.
为了更加清楚的来表达说明DIV+CSS浏览器兼容下面表格是更加清楚的能表达IE6,IE7,FF之间的识别标识区别:
IE6 IE7 FF
* √ √ ×
important × √ √
注意都要写在正常样式的后边,除!important方法在前边
---------------针对样式名------------
如果只让ie6看见用*html .head{color:#000;}
如果只让ie7看见用*+html .head{color:#000;} *:first-child+html .head{color:#000;}
如果只让ff看见用:root body .head{color:#000;}
如果只让ff、IE8看见用html>body .head{color:#000;}
如果只是不让ie6看见用html>body .head{color:#000;} 即对IE 6无效
如果只是不让ff、IE8看见用*body .head{color:#000;} 即对ff、IE8无效
body>.head{color:#000} IE7 8 ff 有效
-------------针对具体属性--------------
如果只让ie6看见用_ .head{_color:#000;}
如果只让ie7看见用+与_结合的方法: .head{+color:#f00;!;_color:#000;}
如果只是不让ie6看见用 .head{color :#000;}注意有空格,或者用!important,写法: width:20px!important; width:50px;
如果只对ff无效/9 >.head{color:#000\9}
--------------------------------------------------IE8正式版hack---------------------------------
"\9" 例:"margin:0px auto\9;".这里的"\9"可以区别所有IE和FireFox.
"*" IE6、IE7可以识别.IE8、FireFox不能.
"_" IE6可以识别"_",IE7、IE8、FireFox不能.
如:.a {color:#f00; color:#f60\9; +color:#00FF00; _color:#0000FF; }
all IE8 IE7 IE6
转载于:https://blog.51cto.com/lionkas/1210225