【发布时间】:2019-02-06 22:19:42
【问题描述】:
以下是一个 3 x 3 的表格:
<html>
<body style="overflow:hidden;">
<style>
div.table_div {overflow:scroll;width:378px;height:117px;position:relative;}
table.TheTable {width:361px;height:100px;table-layout:fixed;border-collapse:collapse;border:1px solid #000000;}
td.TheTableColumnCell {text-overflow:ellipsis;overflow:hidden;white-space:nowrap;border:1px solid #000000;}
</style>
<div class="table_div" id="table_div">
<table class="TheTable">
<tr id='firstTr'>
<td class="TheTableColumnCell"> </td>
<td class="TheTableColumnCell"> </td>
<td class="TheTableColumnCell"> </td>
</tr>
<tr>
<td class="TheTableColumnCell"> </td>
<td class="TheTableColumnCell"> </td>
<td class="TheTableColumnCell"> </td>
</tr>
<tr>
<td class="TheTableColumnCell"> </td>
<td class="TheTableColumnCell"> </td>
<td class="TheTableColumnCell"> </td>
</tr>
</table>
</div>
</body>
</html>
注意:
a) 表格宽度为 361 像素,因为:每个单元格 119 像素 (119 x 3 = 357)。然后为四个边框添加 4px。
b) 表格高度为 100 像素,因为:每个单元格 32 像素 (32 x 3 = 96)。然后为四个边框添加 4px。
c) div 标签。对于我的 Windows 设置,滚动条的宽度/高度为 17px。这就是为什么您会看到 div 的宽度和高度分别为 378px (361 + 17) 和 117px (100 + 17)。 div 的目的是为了以防我真的必须滚动(在我的 3x3 示例中,我真的不需要)。
总而言之:这是一个 3x3 固定宽度/高度的表格。如果您将该代码剪切并粘贴到一个 html 文件中并在浏览器中打开它,您会看到滚动条,但实际上它们都不允许您滚动(因为我将宽度/高度设置为显示所有内容而不滚动) .
问题:
执行以下操作:
不要将每个单元格的高度设为 32 像素,而是将它们设为 16 像素。因此,table.TheTable 的高度应更改为 52px(而不是 100px)。 div.table_div 的高度应更改为 69px(而不是 117px) - 同样,我的滚动条高度为 17px。
垂直滚动条虽然始终可见,但现在可以滚动。我现在不能适应一切?但我认为我的计算是正确的?神奇的数字似乎是 22px。小于 22 像素(高度)我得到一个滚动条。大于 22px,我得到一个不滚动的滚动条。 如果 div 标签计算正确,则滚动条不应滚动。对于小于 22 像素的高度,我该如何避免这种情况?
编辑:溢出:滚动是必要的。我将这个 HTML 从更大的一组代码中提取出来。在实际代码中,表格要大得多。 div 标签允许我显示一定数量的单元格,我可以滚动查看其余部分。当我开始玩高度小于 22 像素的游戏时,我就发现了这个问题。因为它与我正在尝试做的其他一些事情相混淆。
【问题讨论】:
标签: html html-table