如何在overflow:auto上修复表格布局

时间:2012-08-19 09:13:16

标签: html css

我有简单的表格。我想用简单的CSS和我的大脑制作一个可滚动的tbody

我知道很多次讨论过这个问题,但我没有看到解决另一个问题的方法。

如果tbody可滚动,则滚动显示在tbody的右侧,在这种情况下,会对我的表和单元格进行描述。

示例 - > JsFiddle(我要避免发布大量HTML代码和CSS)。

当滚动条出现时,您会看到tbody单元格已变形。

我有两个问题:

  1. 为什么表格单元格会变形?由于table-layout: fixed

  2. 为什么我放 .ov { height: 30%; overflow: auto; }代替.ov { height: 30px; overflow: auto; },滚动条不会显示,而且身高会变满。

  3. 谢谢。

2 个答案:

答案 0 :(得分:1)

嗯,我需要使用的一些表有同样的问题,但在IE中它们有点棘手。使用相同的代码我向jsfiddle添加了两个CSS样式,只是将一个类添加到引用我的新css类的HTML元素之一。这是链接:jsfiddle

这是我添加的代码(原谅蹩脚的css类名)。

thead td { width: 49px; }
.extra { width: 67px; vertical-align: top }

我将课程放在thead部分的第三栏

<td class="extra">Column 3</td>

我在FireFox(最新版本)中对此进行了测试。唯一的问题是,对于第3列,标题字段更大,因为它包含滚动条的宽度。

希望有所帮助。

答案 1 :(得分:0)

这很正常。滚动条显示在tbody内。但是滚动条需要一些空间才能显示它的按钮,这就是它推动你的细胞的原因。 table-layout: fixed在这里没有任何作用。您可以尝试从小提琴中删除该行。最好尝试一些JavaScript滚动条解决方案。