我有一张表格,其中一个单元格中有一条长线。我需要拆分长行,以免导致表格宽度超过 100%。我发现通过添加 table-layout: fixed
和 word-wrap: word-break
, 它将包裹长单元格。然而,使用 table-layout
的副作用是它导致所有列具有相同的宽度。
你可以在这里看到一个例子:
如何使第一列的宽度自动调整大小以仅适合其内容? (即在这个例子中,它应该足够宽以在该列中显示 1
和 2
。)
表中的数据将动态加载,因此硬编码宽度值的解决方案并不好,因为无法提前知道列的宽度。我唯一的选择是使用 <table>
, 我不能使用 <div>
或其他一些元素。
最佳答案
根据official specification ,当您使用固定的 table-layout
时,第一行的列宽决定了整个表格的列宽。如果它们均未定义,它将均匀分配列宽。
由于似乎没有任何其他选择,我最终使用了以下方法:
- 在
table-layout
设置为 auto 时加载表中的数据。 - 读取列的宽度我想是动态的。
- 将这些列宽设置为其当前值。
- 将
table-layout
更改为 fixed。
这是一个不完美的例子(宽度减少了一点):
关于css - 对长表格单元格进行换行,同时在其他单元格中保持动态宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568035/