div+css在浏览器中的兼容性对网站优化的影响
div+css网页排版具有利于网站优化和网页打开速度更快的优点,然而浏览器兼容问题一直困绕着许多从事div+css网页排版的美工人员,区分IE6,IE7,firefox 火狐浏览器关键在于css hack写法:
区别IE6与FF:
background:red;*background:green;
区别IE6与IE7:
background:green !important;background:blue;
区别IE7与FF:
background:red; *background:green;
区别FF,IE7,IE6:
background:red;*background:green !important;*background:blue;
区别IE6,IE7和FF
background:green; _background:red;
注:IE都能识别*;标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important,
IE7能识别*,也能识别!important;
FF不能识别*,但能识别!important;
IE6支持_,其他浏览器都不支持;
其他注意事项:
1. float的div一定要闭合,即清除浮动
示例:(其中floatA、floatB的属性已经设置为float:left;)
<div>
<div id="floatA"></div>
<div id="floatB"></div>
<div id="NOTfloatC"></div>
</div>
这里的NOTfloatC并不希望继续平移,而是希望往下排。这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。
所以得在<div id="floatB"></div>后边加清除浮动<div class="clear"></div>
定义如下.clear{clear:both;}
2. 注意margin加倍的问题
现在DIV+CSS布局里用的最多的要数margin和padding了(为了兼容性都尽量少用),设置为float浮动后的div在ie下设置的margin会加倍,所以要在这个div里面加上display:inline;
示例:<div id="FloatA"></div>
相应的css为
#FloatA{
float:left;
margin:5px;/*IE下理解为10px*/
display:inline;/*IE下再理解为5px*/
}
如果注意以上几点,div+css在浏览器中的兼容就不会有什么问题,网页的打开速度就加快,网站优化就自然而成了。