【发布时间】:2014-06-13 11:26:56
【问题描述】:
我正在为我自己的需要构建网格组件,其中包含可排序的列、行等。现有的要么不适合我的需求,要么太重。当 WebKit 出乎意料地遇到无法解释的异常时,我刚开始使用可调整大小的列。虽然 table-layout:fixed; 在所有其他浏览器(甚至 IE)上都能完美运行 Safari/Chrome 让我头疼。
这是我目前写的:TSort Embriyo
如您所见,它创建了两张表——一张用于标题,一张用于正文,还有一些围绕它们的包装器。然后它尝试使用 table-layout:fixed,因为它更适合动态网格概念。对于 table-layout:fixed,表格的宽度至关重要,此外我的所有单元格 (td/th) 都有 overflow:hidden, white-space:nowrap 和 text-overflow:ellipsis 以更好地模拟网格外观。
现在“错误” - 两个表格的构造方式相同,单元格和表格的宽度由相同的函数计算和设置。 “错误”是无法解释的,因为我使用的方法在顶部表中按预期工作,但在底部表中失败。基本上它就像我没有分配宽度一样。但是你可以在 Web Inspector 中看到它肯定有宽度……所以……嗯?
我尝试了一切,我交换了函数,我移除了顶层表,我尝试按照我构建顶层表的方式构建底层表。但它总是失败。但是,当我直接将生成的表格代码复制/粘贴到页面中时,它开始工作。所以我的猜测是它具有表格的动态特性。但是为什么它在顶级桌子上起作用呢?
通过创建具有预分配宽度的表格元素,我能够摆脱这个“错误”。但这并不能解释奇怪的行为,不是吗?
【问题讨论】:
标签: jquery css webkit css-tables