【发布时间】:2011-06-22 23:56:22
【问题描述】:
我在桌子的一行上布置了三个“面板”。一个比另外两个高,我希望所有三个面板都与最高一个的高度相匹配。我尝试使用 height: 100% 设置 div 的样式,但是即使包含的 tds 增长,短面板仍然很短。
我的 HTML 是由 JSF 生成的,因此我对其形式的控制有限,但我可以修改样式。我在下面制作了生成代码的简化版本。同样的问题出现在 IE8 和 Firefox 上。但是,IE8 将短面板垂直对齐到 td 的顶部,而 Firefox 将它们呈现在中间。
<html>
<head>
<title>Test Table</title>
<style TYPE="text/css">
td {border: 1px solid red; padding: 1px;}
.panel {border: 1px solid blue; padding: 1px;height:100%}
.panel-header{background-color: green; color: white;}
.panel-body {border: 1px solid green; padding: 1px; height:100%;}
</style>
</head>
<body>
<h1>Test Table</h1>
<table width="100%">
<tbody>
<tr>
<td>
<div class="panel" style="height:200px;">
<div class="panel-header">
Header One
</div>
<div class="panel-body">
Body One
</div>
</div>
</td>
<td>
<div class="panel" style="height:100%;">
<div class="panel-header">
Header Two
</div>
<div class="panel-body">
Body Two
</div>
</div>
</td>
<td>
<div class="panel">
<div class="panel-header">
Header Three
</div>
<div class="panel-body">
Body Three
</div>
</div>
</td>
</tr>
</tbody>
</table>
</body>
<html>
【问题讨论】:
-
我在我的帖子中添加了一种使用 jQuery 执行此操作的方法。希望对你有帮助!
-
绝对定位也可以,看看this answer。
-
五年后,所以我无法测试我当时创建的实际页面,但只是尝试你的 Fiddle,对不起,但它根本不起作用.你可能误解了我所面临的问题。无论如何,Richard 建议的 jQuery 解决方案效果很好。