2011-02-02 131 views
8
<html> 
<head> 
<style> 
    * { margin:0; border:0; padding:0; } 
    div { height:500px; } 
    #container { width:1000px; background-color:#000; } 
    #column-one { float:left; padding:10px; width:500px; background-color:#234; } 
    #column-two { float:left; padding:10px; width:500px; background-color:#345; } 
</style> 
</head> 
<body> 
<div id="container"> 
    <div id="column-one"> 
    </div> 
    <div id="column-two"> 
    </div> 
</div> 
</body> 
</html> 

的确有违直觉。填充添加到div宽度/高度?

+0

err有没有问题?而什么浏览器(IE是臭名昭着的,它有一个“破”箱模型)。 – Sean 2011-02-02 21:00:29

+0

所有浏览器在元素宽度/高度处添加填充,边距和边框 – jennyfofenny 2011-02-02 21:10:38

回答

23

content-box model指出填充和边框不计入您为框设置的width。所以他们加入到width

现代浏览器支持CSS3的box-sizing: border-box,导致width表示内容,填充和边框的总宽度(当然,默认值是content-box,会触发上述行为)。

1

宽度是您的内容可以填充的宽度,而不是由边框分隔的框的宽度。

0

也许我误解了,但我认为你可以通过使用width: auto而不是width: 100%来解决你的问题; PS:我知道帖子是旧的,但也许仍然可以是有用的...