CSS:如何拥有一个带有动态宽度单元格的可滚动表格

CSS:如何拥有一个带有动态宽度单元格的可滚动表格,css,google-chrome,Css,Google Chrome,[我的问题的解决方案只需要在Chrome中工作;这是在我们可以控制所使用浏览器的内部环境中使用的。] 问题: 我有一个表格,除了一个单元格外,所有单元格都是固定宽度的,除了最后一个单元格,它只占用了剩余的空间。我的问题是我需要这张桌子是一个固定的高度,而身体并没有像这里演示的那样滚动: 根据答案可以使用显示:块;使表格在固定高度内可滚动。然而,虽然它现在确实滚动,但当我这样做时,它会完全弄乱单元格宽度,如图所示: 两个JSIDdle之间只有一行差异 问题: 那么,我怎么能有一个表,其中最后一

[我的问题的解决方案只需要在Chrome中工作;这是在我们可以控制所使用浏览器的内部环境中使用的。]

问题: 我有一个表格,除了一个单元格外,所有单元格都是固定宽度的,除了最后一个单元格,它只占用了剩余的空间。我的问题是我需要这张桌子是一个固定的高度,而身体并没有像这里演示的那样滚动:

根据答案可以使用显示:块;使表格在固定高度内可滚动。然而,虽然它现在确实滚动,但当我这样做时,它会完全弄乱单元格宽度,如图所示:

两个JSIDdle之间只有一行差异

问题:
那么,我怎么能有一个表,其中最后一个单元格都有一个动态宽度,并且主体可以滚动呢?

我得出结论,用CSS解决这个问题不值得花时间,即使这真的不应该那么难。TimSPQR的建议还行,但破坏了我实际页面上的其他内容,不值得这么痛苦。相反,我求助于使用javascript来更改特定列的一些全局CSS设置。这也允许动态列位于表的中间,而不是最后一个。
window.onresize = function () {
    var rule = getCSSRule('.expand');
    rule.style.width = (document.getElementById('demoTable').clientWidth - 153) + 'px';
};

您可以在这里看到我的其余代码:

在html中,“滚动表”是一个难题。可以将一个解决方案混在一起,但如果您想要一列的动态宽度,它可能看起来不太好。总是有表插件。实际表中有多少列?取决于有多少行和列,您可以像这样混在一起--大约需要20分钟-不太漂亮,但可以稍微漂亮一点。这里有一个稍微漂亮一点的-
table tbody {
    display:block;
    height:200px;
    overflow:hidden;
    overflow-y:auto;
}
window.onresize = function () {
    var rule = getCSSRule('.expand');
    rule.style.width = (document.getElementById('demoTable').clientWidth - 153) + 'px';
};