是否有一个用于冻结行和行的纯CSS解决方案;表格中的列标题?

是否有一个用于冻结行和行的纯CSS解决方案;表格中的列标题?,css,freeze,Css,Freeze,我需要在一张大桌子的顶部和左侧分别放几行和几列。这可以通过纯CSS实现(并保留一个大表),还是必须将表拆分为三个表并使用JavaScript保持同步?幸运的是,所有的电池都有固定的宽度/高度,我不需要容纳灵活的电池 哦,至于浏览器支持——必须支持IE7+;最好也是IE6(不确定我是否需要它);其他的可能是最新版本。这里有一个不完整的、笨拙的解决方案,可以解决列问题。但我想有人会觉得它很有价值。一些人指出,“thead”可能适用于标题,但没有人提供关于列的解决方案: 它由一个div处理水平滚动,

我需要在一张大桌子的顶部和左侧分别放几行和几列。这可以通过纯CSS实现(并保留一个大表),还是必须将表拆分为三个表并使用JavaScript保持同步?幸运的是,所有的电池都有固定的宽度/高度,我不需要容纳灵活的电池


哦,至于浏览器支持——必须支持IE7+;最好也是IE6(不确定我是否需要它);其他的可能是最新版本。

这里有一个不完整的、笨拙的解决方案,可以解决列问题。但我想有人会觉得它很有价值。一些人指出,“thead”可能适用于标题,但没有人提供关于列的解决方案:

它由一个div处理水平滚动,另一个div处理垂直滚动。主要的问题是,在导航到底部之前,您无法看到水平滚动条(但鼠标滚轮滚动效果很好)。它在IE7中工作,我使用了一些显示:内联黑客来实现这一点。注意:我只使用javascript创建表


经过一段时间的努力,我的直觉是没有纯粹的CSS解决方案。我简直无法想象有什么方法可以在两个方向上同步滚动。

我不确定是否有,但你应该提到你需要支持哪些浏览器,因为这可能会对答案产生影响。不使用纯CSS,你需要一些javascript来实现这一点。查看此->添加了浏览器支持要求。@SamWarren-是的,我可以用JavaScript实现;我甚至可以想出几种不同的方法。但问题是-我能在没有Javascript的情况下完成吗?啊哈。好的,对多行使用
thead
是绝对合法的,可以解决固定行(也可以使用JS将某些行从tbody移动到thead)。固定列可能是个问题。我见过在表格单元格上设置
position:fixed
的尝试,但这取决于视口相对坐标。我想把表放在它自己的iframe中就可以了,但我更愿意采用Javascript路线……除非我有误解,否则我不确定这两个列如何工作。也就是说,fixed或iframe只适用于一个方向,但您仍然希望冻结的行/列以相反的方向同步。一想到它,我的脑子就痛。Javascript真的不应该那么糟糕。无论如何,谢谢你的接受,没问题。我认为没有比“没有纯css解决方案”更好的答案了。“固定”解决方案。。。我想你是对的。我一定是误解了什么。一个固定元素会忽略所有的滚动条,所以它不会有任何好处。好吧,既然你已经接受了这个元素,我需要解决这个问题!我想得更透彻了,尝试了一些不同的概念,但最终决定使用“通用”CSS是不可能的;固定顶列很容易,固定左列很容易,但不可能与滚动相结合;
position:absolute
的附件并没有完全切断它。我不会低估使用
display
属性的
table-*
值来管理它的可能性,但我从未使用过
table column
,我现在不想尝试它,因为它不适合IE支持要求。好吧。