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!
真悲催,浏览器不兼容让我这个门外汉很痛苦呀!