当前位置: 代码迷 >> Web前端 >> DIV的边距属性在Chrome跟IE中的区别
  详细解决方案

DIV的边距属性在Chrome跟IE中的区别

热度:121   发布时间:2012-11-23 22:54:33.0
DIV的边距属性在Chrome和IE中的区别

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

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. }
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!

真悲催,浏览器不兼容让我这个门外汉很痛苦呀!

  相关解决方案