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

2025-03-11 10:32:15
推荐回答(1个)
回答1:

在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!