DIV 边距属性在Chrome和IE中的区别深入理解

突然间,在Chrome下看起来很整齐的布局,在IE下变成一团糟 。为了找出原因,我改动了div的background-color属性 。最后,发现同一个DIV的宽度在IE和Chrome下却不一样 。这大晚上的,真是怪吓人滴!
之后,做了个测试 。当:

复制代码代码如下:
div1
{
width:960px;
margin:0px;
padding:0px;
}

这时,在两个浏览器下是没有区别滴!总宽度均是960px 。
但是,当:

复制代码代码如下:
div1
{
width:960px;
margin:0px;
padding:0px 10px 0px 10px;
}

这时,Chrome就不干了 。她居然把padding的20px加在了外面,这样div1的总宽度就是960px 10px 10px=980px;而,在IE中div1的宽度仍是960px;
按照我的思维,感觉padding应该算在width里面滴,没想到Chrome这么倔 。
经过测试,border和padding一样,margin的值均算在width的外面 。
还有,在没有设置float的情况下,Chrome会把div1当成position:absolute,而IE会把其当成poisttion:relative;所以,尽量都这是块级元素的float为left!
真悲催,浏览器不兼容让我这个门外汉很痛苦呀!

    推荐阅读