2011-12-03 28 views
5

我希望能够用一个子跨度完全填满父母的div。 问题是我想填充它的范围是与美乐家主题,它有不同的填充和边距。所以我无法为跨度的高度编码任何尺寸。CSS填写父div完全干净

如果我试图将跨度的高度设置为100%,那么它实际上会超过100%+ 6像素(对于此主题填充更多像素(但超出量因主题而异)。你如何做到这一点,无论跨度的填充/边距是多少,它只填充父div的100%?

非常感谢您的帮助。

+0

你应该看看'box-sizing:border-box;' – jessegavin

+0

是的,只是注意到,当我建立我的小提琴时,jessegavin在他的评论中给出了“短版”的答案。 – ScottS

回答

6
-webkit-box-sizing: border-box; 
-moz-box-sizing: border-box;  
box-sizing: border-box; 

的例子见http://jsfiddle.net/mbB8t/2/

澄清:适用于所有现代浏览器(IE8 +)。

+0

如果父代拥有'padding',这似乎不起作用。 [这](https://jsfiddle.net/mbB8t/137/)是你的确切小提琴简单地改变'div margin'为'padding',你知道如何用padding实现相同的结果吗?谢谢。 – Jake

+1

@Jake:考虑到如何配置父div的额外限制,如果你不能(或不想)删除它的填充,那么可能你唯一的选择是[使用定位来实现它](http: //jsfiddle.net/mbB8t/145/)。根据情况,这可能也可能不需要。 – ScottS

+0

好的谢谢。这看起来像工作。 – Jake