如何制作具有固定列宽的 chrome 尊重表

Posted

技术标签:

【中文标题】如何制作具有固定列宽的 chrome 尊重表【英文标题】:How to make chrome respect tables with fixed column width 【发布时间】:2014-04-17 00:08:24 【问题描述】:

我有一个基本的自制“表格”插件,它支持水平和垂直滚动,在渲染时要固定列宽。所以我们使用CSS

table-layout:fixed;

但问题是 Chrome 似乎认为即使计算了表格宽度和列宽,它仍然应该重新格式化表格。

在这里提琴:http://jsfiddle.net/paull3876/Ssr33/

如果你在 IE 或 Firefox 中运行它没问题,数据和列标题被正确截断,但在 Chrome 中,它想要显示所有数据,所以它忽略了溢出:隐藏和设置宽度,结果是header 和 body 表之间的列不对齐。

所以,任何关于如何在 chrome 中进行这项工作的想法将不胜感激.. 谢谢

【问题讨论】:

顺便说一句,我尝试先设置表格宽度,然后再设置列宽,没有区别。 jsfiddle.net/Ssr33/13 【参考方案1】:

我仍在尝试截断 chrome,但如果您不介意行高,您可以使用此解决方法来换行:

$("td",$(".datatable")).css("white-space":"normal");

【讨论】:

谢谢。是的,这似乎使列再次排列。但是系统确实需要截断数据。当然,我可以使用 div(在每个 TD 内),但我的想法是尽可能少地使用带宽和浏览器重排,因为数据集可能非常大。不过这可能会激发更多的想法:)【参考方案2】:

啊哈,我想我有它。

如果我将 TD 设置为 display:inline-block

.datatable .scrollingdiv td, .datatable .nonscrollingdiv td 
    overflow:hidden;
    display:inline-block;

好像是这样的。

【讨论】:

以上是关于如何制作具有固定列宽的 chrome 尊重表的主要内容,如果未能解决你的问题,请参考以下文章

具有固定列宽的流动 flexbox 网格

EXCEL里面如何设置能把行高和列宽的长度固定?

具有不同列宽的 XHTML 严格表

如何在 Python 中打印具有指定列宽的列表?

QTableView自适应填充伸展列宽的基础上 再固定特定某列宽

基础固定列宽的表格及示例演示