Colspan 强制设置相等的列宽

Posted

技术标签:

【中文标题】Colspan 强制设置相等的列宽【英文标题】:Colspan forcibly setting equal column widths 【发布时间】:2021-10-09 17:46:23 【问题描述】:

我有一个像这样列宽相等的表格(比如 1:1:1 的比例):

我想根据标题文本调整列宽(更长的标题会有更多的列宽,反之亦然 - 像这样(比如 0.5:0.5:2 的比率):

下面是我生成标题行的代码(我使用的是 ASP.Net MVC Razor 语法辅助方法):

 @th.HeaderRow(@<tr>
        <th class="border-bottom" style="width: 300px;" colspan="3">Header Ln 1/th>
    </tr>)

 @th.HeaderRow(@<tr>
        <th style="width: 100px;">Header Ln 2 Col 1</th>
        <th style="width: 100px;">Header Ln 2 Col 3</th>
        <th style="width: 100px;">Header Ln 2 Col 3</th>
    </tr>)
   
 // code for generating the data rows
.....

我无法将这些单独列的宽度调整为唯一值(例如 50px、50px、200px);由于colspan,它们都被设置为相同的值。

我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

如果您查看上一个屏幕截图,您实际上有 4 列,前两列是它们自己的单元格,最后一列跨越两列。因此,您的标题需要是 colspan 4。

@th.HeaderRow(@<tr>
        <th class="border-bottom" style="width: 300px;" colspan="4">Header Ln 1/th>
    </tr>)

【讨论】:

以上是关于Colspan 强制设置相等的列宽的主要内容,如果未能解决你的问题,请参考以下文章

具有动态列的表布局固定和整行 colspan

自动表格布局和 colspan

HTML table利用 JS动态增加行列 并且设置colspan

表格中的colspan colspan

表 colspan 跨越所有列,而不考虑列数

table合并单元格colspan和rowspan