2012-04-15 86 views
3

我想在div中应用一些填充,但是当应用填充属性时,div大小会增加,因为填充大小已添加到div。如何在不增加div大小的情况下在HTML中应用填充?

<div id="someDiv"> 
    someContent 
</div> 

#someDiv{ 
    padding: 1em; 
} 

有一些方法可以在不增加div大小的情况下应用填充?我有一个解决方案,其中包括在#someDiv中添加另一个内容div并应用边距,但我不知道这是否是最佳解决方案。

事情是这样的:

<div id="someDiv"> 
    <div idi="anotherDiv"> 
     someContent 
    </div> 
</div> 

#anotherDiv{ 
    margin: 1em; 
} 

回答

6
div { box-sizing: border-box; } 

虽然这是不支持在IE的某些版本!

1

如果你有<div>与自动宽度,即它会自动增长到它的父元素的宽度,添加填充不会增加宽度。它会增加高度,这当然是不可避免的。只有为元素设置了固定宽度,宽度才会增加,则总宽度将为width + padding。在这种情况下,从设置的宽度中减去添加的填充。

+0

我理解这个解决方案,但我不能应用它。我使用Bootstrap,所以它使用固定宽度(span1,span2等),并且不可能以简单明了的方式改变宽度。 – 2012-04-15 13:45:51

+0

这是一个不幸的问题。您可以总是*覆盖*默认的CSS,但可以通过将'width'重置为'auto'作为特定的元素,或者将其重写为不同的值。 – deceze 2012-04-15 13:47:28

相关问题