【发布时间】:2011-04-30 06:29:48
【问题描述】:
我正在开发一个针对 iPhone 优化的网络应用程序。
在其中一个页面上,我将有一个包含数百行和数十列的表格。
我想让它工作,以便当用户向右滚动时第一列是固定的(保持可见),而当用户向下滚动时,标题是固定的(即,就像 Excel 中的“冻结窗格” )。
还有一篇文章解决了这个确切的问题:
HTML table with fixed headers and a fixed column?
...并提出了一个很好的解决方案:
http://fixed-header-using-jquery.blogspot.com/2009/05/scrollable-table-with-fixed-header-and.html
...和一个演示:http://acatalept.com/common/test/fixed-table.html
但是,这似乎不适用于 iPhone - 整个 PAGE 滚动。
我将如何修改此示例以使其在 iPhone 上运行?
(幸运的是,一个解决方案只需要在 iPhone 上运行,所以我可以利用任何特定的 webkit 功能,而忽略其他浏览器的问题。当然,一个跨浏览器兼容的解决方案更好......)
[更新]
好的,所以我意识到我问错了问题。
我认为,问题在于 iPhone 的 webkit 没有提供在固定大小(宽度/高度)div 内滚动内容的本机方式。所以基本上不可能有一个固定的页眉/页脚和一个滚动的中心区域。
(下面 Galambalazs 的回答非常出色,可以在我测试过的任何桌面浏览器中使用,但不能在 iPhone 中使用,因为它不是仅滚动表格主体,而是滚动整个页面)。
然后,我遇到了 Mateo Spinelli 的 iScroll (http://cubiq.org/iscroll)。我还没有完成我正在寻找的完整解决方案的实现,但他的脚本似乎可以处理我遇到的确切问题。
我还不能评论他的代码运行得如何,但他的演示绝对很棒,所以我的预感是 iScroll 将是一个很好的解决方案。
【问题讨论】:
标签: html css iphone web-applications html-table