问题
当使用sScrollX
,sScrollXInner
和/或sScrollY
实现其内部内容滚动的固定标题表时,该表的标题与 Chrome 和 IE 中的正文的其余部分不对齐。另一方面,Firefox 可以完美地显示它们。
据我所知,使用 1.9.4 版本时,仅当有大量数据的宽度波动,并且非常长/不可包装的单词与小单词组合在同一列中时,才会出现此问题。此外,有问题的表格需要相当宽。
所有这些因素都在这个小提琴中得到了证明:
输出
建议的解决方案
这些解决方案之前已经提出过,但对我的实施没有影响。由于这些建议中的一些,我设置了一个干净的普通香草演示,因为我想确保没有其他代码对这种效果做出贡献。
- 关闭/删除我所有的 CSS
setTimeout( function () { oTable.fnAdjustColumnSizing(); }, 10 );
- 呼叫
oTable.fnFilter( "x",0 )
并oTable.fnFilter( "",0 )
按此顺序 "sScrollXInner": "100%"
- 摆脱所有宽度
我发现的未对齐标题的唯一解决方案是取出sScrollX
and sScrollY
,但这不能算作解决方案,因为您失去了固定的标题/内部内容滚动功能。可悲的是,这是一个临时的黑客攻击,而不是修复!
笔记
编辑/播放最新的小提琴。
我尝试了各种组合,可以通过使用链接http://jsfiddle.net/pratik136/etL73/#REV#
在小提琴的修订历史中观察到1 <= #REV# <= 12
历史
StackO
之前有人问过这个问题:jQuery Datatables Header Misaligned With Vertical Scrolling
但重要的区别是该问题的 OP 提到如果删除了所有 CSS,他们能够解决问题,这在我的情况下是不正确的,我尝试了一些排列,因此认为值得重新发布的问题。
外部
此问题也已在 DataTables 论坛上标记:
- http://datatables.net/forums/discussion/7395/sscrolly-and-sscrollx-broken/p1
- http://datatables.net/forums/discussion/7778/vertical-scrolling-messes-up-column-header-alignment#Item_1
- http://datatables.net/forums/discussion/3835/width-columns-problem-in-chrome-safari/p1
- 我的错误报告:http ://datatables.net/forums/discussion/12491/datatables-header-alignment-issue-refresh#Item_1
这个问题把我逼疯了!请贡献你的想法!