自动调整 HTML 表格中的列宽

Posted

技术标签:

【中文标题】自动调整 HTML 表格中的列宽【英文标题】:Auto-Adjusting column width in HTML table 【发布时间】:2018-08-11 04:51:51 【问题描述】:

我正在创建一个包含用户 URL 历史记录的表。数据是使用 php 从 SQL 数据库中收集的,表格是根据用户使用下图中的复选框选择的数据生成的。

我希望表格使用页面的整个宽度,就像它目前所做的那样。但是我希望自动调整列宽。正如您在图像中看到的,各种列比它们需要的要宽得多。

我在下面附上了我正在使用的 CSS 代码。

任何帮助将不胜感激。

    table#DisplayData 
    border-spacing: 0;
    width: 100%;
    table-layout:fixed;
    border: 1px solid #ddd;
    word-wrap:break-word
    

    table#DisplayData th, td 
    text-align: left;
    border: 1px solid #ddd;
    word-wrap:break-word
    margin: auto;
    

【问题讨论】:

您希望每列的宽度取决于什么?你可能需要一个 JS 解决方案,或者百分比宽度列。 理想情况下某些列的标题长度。但是,对于诸如 Url 之类的行,我希望它们尽可能长,但仍然水平停留在页面上? 我推荐硬编码的百分比宽度列。您可以在cols 上使用<colgroup><col>table-layout: fixedwidth: X% 【参考方案1】:

将您的table-layout 更改为auto(或不包括它,因为auto 是默认值)。

一个演示from MDN:

【讨论】:

如果我使用 'auto' 或完全去掉那条线,我的桌子就会跑到页面的一边。 如果您已经尝试过,能否在您的问题中提供一个可验证的示例?否则我很难完全回答。

以上是关于自动调整 HTML 表格中的列宽的主要内容,如果未能解决你的问题,请参考以下文章

在排除某些单元格/行时自动调整 Excel 中的列宽

急!!Eclipse中使用tableviewer,如何自动调整表中各列的列宽??

word表格快捷技巧 word表格快捷窍门

div 自适应表格列宽度

如果表格只有一行,则 HTML 表格中的列宽会发生变化

怎么调整excel单元格的行列宽度