【发布时间】:2017-03-02 08:18:29
【问题描述】:
我想用滚动条和动态宽度构建灵活的布局。
我有表格宽度、高度 100% 的窗口和 2(3) 列具有自动宽度(宽度取决于它的内容)和具有剩余宽度的中心列。我无法指定列的确切宽度。
如果我的内容大于单元格的宽度和高度,我希望有水平和垂直滚动条;
示例 2 这里是LiveDemo
<div style="width:1024px">
<table style="width:100%">
<tr>
<td>
<div>Column Menu with Dynamic Content and width</div>
</td>
<td style="width:100%;">
<div style="overflow:scroll;">Column Big Dynamic Content with ScrollBars</div>
</td>
</tr>
</table>
</div>
我不能使用:
-
table-layout:fixed- 因为列宽取决于它的内容 -
overflow:scroll指定了width,height - 我需要纯 CSS 解决方案
我试过了:
-
width:100%, max-width:100%, min-width:100%- 不工作 -
white-space:wrap仅在内容为文本且只有垂直滚动条时有效
问题是:如何使div 和overflow:scroll 或overflow:auto 拥有其父容器的width,height(在我的情况下是TD)
附言
最好的情况是 <TD style="overflow:auto"></TD> 并且宽度是自动的。
【问题讨论】:
-
如果列宽取决于内容,那么它如何知道何时滚动?另外你怎么能有 2 列,但其中之一是 100%。这也是表格数据吗?如果没有,我会使用 display:flex 和 divs,会更容易实现你想要的
-
如果您运行示例,您将看到表格列是否具有自动宽度,其宽度将根据内容的宽度计算。对于第一列,第二列的宽度将是表格总宽度的剩余部分
-
好的,运行你的例子并去掉那个 200px,你会看到第一列缩小而不是增长,唯一的增长方式是 100% 在另一列上是如果它是一个图像或者如果你有空格 nowrap;
标签: css scroll html-table width overflow