【发布时间】:2012-07-13 05:17:37
【问题描述】:
如何在表格单元格内垂直拉伸 DIV?
我以为height: 100% 会很好
但在某些情况下 - 它不是(至少在 IE8 中)
这是一个简单的例子:
一个包含页眉、内容和页脚的 3 行表格;
我希望“内容”单元格内的“内容”DIV 垂直拉伸 100%;
它在 FF 和 Chrome 中可以,但在 IE8 中没有
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<div style="overflow: auto; height: 20em; width: 20em;">
<table style="height: 100%; width: 100%;">
<tr style="background-color: blue;">
<td>
<div>header</div>
</td>
</tr>
<tr style="height: 100%;">
<td style="background-color: yellow;">
<div style="height: 100%; background-color: red; overflow-y: scroll;">
content
</div>
</td>
</tr>
<tr style="background-color: blue;">
<td>
<div>footer</div>
</td>
</tr>
</table>
</div>
任何人都可以提出解决这个简单问题的方法吗?
它必须在 IE8、FF 任何 Chrome 中工作(IE7 和更早版本并不重要)
它必须是基于 CSS 的(没有 javascript)
请不要建议像“不要使用表格进行布局”这样的智慧,因为我可以使用带有display: table 的 DIV 等 - 问题是一样的(我在示例中使用了 TABLE、TR、TD,因为它是这种方式更具可读性)
【问题讨论】:
-
您的示例代码在 IE8 中似乎运行良好。
-
好的,那是因为你在怪癖模式下尝试过......但我需要标准模式(我编辑了示例,并添加了 doctype 定义)