【发布时间】:2016-02-02 16:08:32
【问题描述】:
我的任务是创建一个用作布局主要部分的表格。表格的标题应该是静态的,而正文应该在必要时滚动。问题是如果需要滚动条,表格的列会因为 tbody 的宽度发生变化而错位。
我使用了一些 javascript 来补偿,将thead 上的右填充设置为等于滚动条的宽度,并计划在滚动条消失/出现时使用侦听器来删除/添加填充。
虽然这种方法可以保持列对齐,但如果可能的话,我被要求提出一个仅 HTML/CSS 的解决方案。有谁知道在没有任何js的情况下实现这一目标的方法?谢谢。
我目前拥有的一些相关 CSS:
table {
width: 100%;
border-collapse: collapse;
}
table tbody {
position: absolute;
top: 24px;
left: 0;
right: 0;
bottom: 0;
overflow-y: auto;
}
table thead {
position: absolute;
top: 0;
left: 0;
right: 0;
}
这是一个查看整个示例的小提琴:http://jsfiddle.net/kirky93/qqv73kjo/5/
向上/向下拖动视口以使滚动条消失/出现以查看问题。
【问题讨论】:
-
那么,你取得的结果有什么问题?
-
你应该使用 :overflow:scroll on tbody ;) 类似 stackoverflow.com/questions/23989463/…
-
@Trix 好问题——归结为关于不喜欢使用 javascript 设置样式的意见。