css - 100%+填充?

问题描述:

大多数人都知道,css - 100%+填充?

一个100%div与5px填充实际上是100%+ 10px宽。这个

一个显而易见的解决方案是wrap the child div in a wrapper that has a 10px margin 但是这种方法需要你添加额外的标记,我正在寻找一种方式来做到100%+填充没有额外股利。

有什么想法?

+0

如果你使用'padding-left'和'padding-top'和'padding-bottom'?这是你想要的结果?或者你可以看看http://*.com/questions/5219175/width-100-padding – jotapdiez 2011-04-26 03:15:29

<div>这样的块元素在填充后自动假定100%宽度。即你应该能够简单地通过指定一个填充来实现预期的效果,在auto上保留宽度并确保该元素具有display: block(默认为<div>)。

http://jsfiddle.net/EMYBm/8/

+0

好吧,好吧,我的部分不好的例子,让我们假设它不是一个div,而是它是一个html输入... – Hailwood 2011-04-26 03:40:58

+0

@Hailwood这是一个非常重要的细节。 :-P在这种情况下,你别无选择,只能使用包装(如果你关心IE)。 – deceze 2011-04-26 05:04:57

+0

是啊...我的坏:D – Hailwood 2011-04-26 20:26:19

你应该看看box-sizing CSS属性...

我放在一起的例子向你展示它是如何工作和具有box-sizing属性和没有它之间的区别。退房的小提琴......

http://jsfiddle.net/UnsungHero97/bKsad/2/

注意,这将不会在IE7或以下工作:/

我希望这有助于。
Hristo

+0

但是,这将工作在IE7? – Hailwood 2011-04-26 03:41:52

+0

不...哈哈,这不会在IE 7或以下工作 – Hristo 2011-04-26 03:44:42

+0

得爱m $:/ – Hailwood 2011-04-26 04:39:19