这是一个古老的问题,虽然我找不到适合我的解决方案。
在表格单元格(TD)中给出DIV,我想填充DIV的高度以适应TD
+-----------+
| TD |
|+---------+|
|| DIV ||
|+---------+|
| |
+-----------+
只有陷阱:
要问太多了?
示例:
获取" foo" DIV,填补其父TD的100%高度。我有一些接近工作的东西,但在DIV元素上填充,抛出边框(使用Opera)。
/* My Attempt: close, but the padding throws out the borders */
div{
display:inline-block;
height:100%;
width:100%;
}
http://jsfiddle.net/nickg1/g5cpQ/5/
谢谢!
答案 0 :(得分:2)
是的,根据您的条款和条件,display:table
是您的最佳解决方案。
像这样添加css:
div{
display:table;
height: 100%;
border:1px solid red;
}
检查以下链接
答案 1 :(得分:1)
尝试以下方法:
table {
height: 1px;
}
td {
vertical-align: top;
height: 100%;
}
div{
border:1px solid red;
padding: 2px 4px;
box-sizing: border-box;
}
/* My Attempt: close, but the padding throws out the borders */
div{
display:block;
height: 100%;
}
请参阅演示:http://jsfiddle.net/audetwebdesign/AkjND/
诀窍是在桌子上指定一个高度,任何小的值都可以解决问题。
如果要将垂直填充应用于内部div
,则需要使用box-sizing: border-box
,这可能会比IE8更早。
参考:https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing