2012-03-08 77 views
3

我的问题是如何管理一个元素的大小(让我们说一个div)与百分比。我有一种情况,我让两个div并排浮动,并且都占用了包含它们的div的50%。这两个div中的每一个都具有1px的边界,5px的边距和一些填充。那么我该如何管理这些静态尺寸和内容的动态大小(div)。在刚刚提到的情况下,由于边界,填充和边距使得尺寸超过(100%),所以它们不会并排浮动。如何用动态大小(百分比)管理边框,填充,边距?

有什么解决方案?在我的情况下,边距/填充/边框的尺寸很小,所以我想我可以将尺寸设置得更低一点(比如45%),并希望它适合。但我认为这种方法很琐碎,因为如果我将填充的大小设置得更高,我将不得不通过试验和错误来调整div的大小,直到找到完美的大小。有没有适当的方法来实现这一目标?

非常感谢。

回答

2

清洁的工作可以用0保证金和0边框使两个浮动的div进行,只是宽度为50%。 然后在里面你可以放一个适合它的容器的div,带有静态边距和填充。

作为替代选择,您可以保持一切动态,所以放一些像边距:1%,你会得到一个很好的行为,在窗口调整大小!

+0

但是我如何管理这个边界(他们不能采取pourcentage)和表...我的表必须采取100%,如果我指定一个列的大小在pourcentage(我如何管理单元格的边界)? – maniak 2012-03-08 16:46:14

2

https://developer.mozilla.org/En/CSS/Box-sizing

/* support Firefox, Safari/WebKit, Opera and IE8+ */ 

.example { 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing:  border-box; 
} 

您可以使用盒大小:边界框,以便在50%,则适用于内+填充+边界,但遗憾的是没有设置添加的保证金。

但是,您可以在div中使用div,并在外部div上使用填充来模仿边距。

这里是一个例子JSFiddle