【发布时间】:2011-10-26 02:47:18
【问题描述】:
我有一个表格,它应该始终占据屏幕高度的一定百分比。大多数行的高度都是固定的,但我有一排应该伸展以填充可用空间。如果该行中某个单元格的内容超出了所需的高度,我希望使用 overflow:hidden 剪辑内容。
不幸的是,表和行不尊重 max-height 属性。 (这是在 W3C 规范中)。当单元格中的文本过多时,表格会变高,而不是固定在指定的百分比上。
如果我为表格单元格指定一个以像素为单位的固定高度,我可以让表格单元格运行,但这违背了让它自动拉伸以填充可用空间的目的。
我尝试过使用 div,但似乎找不到神奇的公式。如果我将 div 与 display:table、:table-row 和 :table-cell 一起使用,则 div 的行为就像一个表格。
关于如何在桌子上模拟最大高度属性的任何线索?
<head>
<style>
table {
width: 50%;
height: 50%;
border-spacing: 0;
}
td {
border: 1px solid black;
}
.headfoot {
height: 20px;
}
#content {
overflow: hidden;
}
</style>
</head>
<body>
<table>
<tr class="headfoot"><td>header</td></tr>
<tr>
<td>
<div id="content">
put lots of text here
</div>
</td>
<tr>
<tr class="headfoot"><td>footer</td></tr>
</table>
</body>
【问题讨论】:
-
你能画一张简单的图片来展示你想要制作的整体布局吗?
-
如果将代码粘贴到 html 页面中,您会看到它,只是表格占据了屏幕高度的 50% 以上。它应该只需要 50%。在内容标签中放置大量文本。
标签: html css html-table