是否有一种方法可以将水平滚动条添加到HTML表中?我实际上需要它是可滚动的,垂直和水平取决于表如何增长,但我不能得到任何滚动条出现。


当前回答

不管怎样,我找到的最好答案是: https://github.com/filamentgroup/tablesaw/issues/58#issuecomment-63966574

table.tablesaw
{
    table-layout: fixed;
    max-width: none;
    width: auto;
    min-width: 100%;
}

其他回答

为此使用CSS属性“overflow”。

简短的总结:

overflow: visible|hidden|scroll|auto|initial|inherit;

e.g.

table {
    overflow: scroll;
}

与引导

 <div class="table-responsive">
   <table class="table">
     ...
   </table>
 </div>

我尝试了以上所有的解决方案,但都有一些问题。

如果我们添加display: 'block'到表格中,单元格不会占用整个宽度。 如果我们将它添加到表包装器中,你的自定义表头,如搜索,过滤器等也会滚动,这看起来很糟糕。

我能够通过将overflow-x: auto添加到表的主体包装器来实现预期的行为。

单元格采用全宽度,即使列较少,滚动条也会根据需要自动出现。

我也遇到了同样的问题。我发现了下面的解决方案,它只在Chrome v31中测试过:

table {
    table-layout: fixed;
}

tbody {
    display: block;
    overflow: scroll;
}
.wrapper {
  width: 0;
  min-width: 100%; //width 0, but min-width 100?? yes, I know...
  overflow: auto;
}
<div class="wrapper">
  <table></table>
</div>

表可以有任何宽度。我通常使用100%或max-content作为表。