在Chrome下看起来整齐的布局,在IE下却一片混乱。方便找原因,我改动了div的background-color属性。发现同一个DIV的宽度在IE和Chrome下却不一样!更多介绍请看下文。
做了个测试如下:
Css代码
复制代码 代码示例:
1.div1
2.{
3.width:960px;
4.margin:0px;
5.padding:0px;
6.}
Css代码
1.div1
2.{
3.width:960px;
4.margin:0px;
5.padding:0px;
6.}
div1
{
width:960px;
margin:0px;
padding:0px;
}
这时,在两个浏览器下是没有区别,总宽度均是960px。
Css代码
复制代码 代码示例:
1.div1
2.{
3.width:960px;
4.margin:0px;
5.padding:0px 10px 0px 10px;
6.}
Css代码
1.div1
2.{
3.width:960px;
4.margin:0px;
5.padding:0px 10px 0px 10px;
6.}
div1
{
width:960px;
margin:0px;
padding:0px 10px 0px 10px;
}
这时,Chrome居然把padding的20px加在了外面,这样div1的总宽度就是960px+10px+10px=980px;而,在IE中div1的宽度仍是960px;
按照我的思维,感觉padding应该算在width里面。
经过测试,border和padding一样,margin的值均算在“width”的外面。
还有,在没有设置float的情况下,Chrome会把div1当成position:absolute,而IE会把其当成poisttion:relative;所以,尽量都设块级元素的float为left!