Javascript 具有固定标题和固定列的HTML表?
是否有一种CSS/JavaScript技术来显示一个长HTML表,以便列标题在屏幕上保持不变,第一列保持不变并随数据滚动 我希望能够滚动浏览表的内容,但始终能够看到顶部的列标题和左侧的第一列Javascript 具有固定标题和固定列的HTML表?,javascript,html,css,html-table,Javascript,Html,Css,Html Table,是否有一种CSS/JavaScript技术来显示一个长HTML表,以便列标题在屏幕上保持不变,第一列保持不变并随数据滚动 我希望能够滚动浏览表的内容,但始终能够看到顶部的列标题和左侧的第一列 如果有jQuery插件那就太好了!如果它有帮助的话,我唯一关心的浏览器是Firefox。我知道你可以而且似乎可以为Firefox工作(不确定该技术的可扩展性有多大)。第一列在标题正下方的单元格上有一个滚动条 <table> <thead> <th>
如果有jQuery插件那就太好了!如果它有帮助的话,我唯一关心的浏览器是Firefox。我知道你可以而且似乎可以为Firefox工作(不确定该技术的可扩展性有多大)。第一列在标题正下方的单元格上有一个滚动条
<table>
<thead>
<th> Header 1</th>
<th> Header 2</th>
<th> Header 3</th>
</thead>
<tbody>
<tr>
<td>
<div style="width: 50; height:30; overflow-y: scroll">
Tklasdjf alksjf asjdfk jsadfl kajsdl fjasdk fljsaldk
fjlksa djflkasjdflkjsadlkf jsakldjfasdjfklasjdflkjasdlkfjaslkdfjasdf
</div>
</td>
<td>
Hello world
</td>
<td> Hello world2
</tr>
</tbody>
</table>
标题1
标题2
标题3
Tklasdjf alksjf asjdfk jsadfl kajsdl fjasdk fljsaldk
fjlksa djflkasjdflkjsadlkf JSAKLDJFASDJFKLASJDFLKJASDLKJASKDFJASDF
你好,世界
你好,世界2
如果您希望在表格中的数据垂直滚动时保留标题,则应实现一个“overflow-y:auto”样式,如下所示:
<table>
<thead>
<tr>
<th>Header1</th>
. . .
</tr>
</thead>
<tbody style="height: 300px; overflow-y: auto">
<tr>
. . .
</tr>
. . .
</tbody>
</table>
校长1
. . .
. . .
. . .
如果内容的高度超过所需的高度,它将开始滚动。但是,无论滚动位置如何,标题都将固定在顶部。
我不知道YUI DT是否有此功能,但如果有,我不会感到惊讶。您可能正在寻找
但它存在一些已知问题。工作示例:
仅供参考:在IE 6、7和8(兼容模式打开或关闭)、FF 3和3.5、Chrome 2中进行测试。屏幕阅读器不友好(标题不是内容表的一部分)
编辑5/5/14:将示例移动到jsBin。这是一个古老的问题,但令人惊讶的是,它仍然适用于当前的Chrome、IE和Firefox(尽管IE和Firefox可能需要对行高进行一些调整)。我认为,尽管这是一个古老的问题,但它是插入我自己的脚本的一个非常好的地方:
它不需要配置,安装起来非常简单。这是一个很好的jQuery插件,适用于所有浏览器 您有一个固定的标题表,但不固定其宽度 检查它:
免责声明:我是该插件的作者。在这个答案中,还有我找到的关于您问题的最佳答案:
并且基于纯CSS我创建了一些东西,它有固定的页眉、固定的页脚、固定的左栏和固定的右栏。这只适用于IE。由于大多数用户仍在使用IE,这可能会有所帮助。请在中找到这里的代码。请告诉我你的建议 同时,我正在努力修复其他浏览器中的列。我会随时通知你的。:-)
$(文档).ready(函数(){
$(“#GridHeader table”).html($('#').html());
$(“#GridHeader表tbody.rows”).remove();
$('#tr:first th').hide();
});
不太完美,但它比这里的一些顶级答案更接近我
两个不同的表,一个带有标题,另一个用包含内容的div包装
<table>
<thead>
<tr><th>Stuff</th><th>Second Stuff</th></tr>
</thead>
</table>
<div style="height: 600px; overflow: auto;">
<table>
<tbody>
//Table
</tbody>
</table>
</div>
第二件事
//桌子
使用是实现类似excel的固定列和标题的一种很好的方法
请注意网站的示例部分和“附加内容”。“Extras”部分有用于固定列和固定标题的工具 固定列
(我相信本页上的示例最适合您的问题。) 固定标题
(包括一个具有整页电子表格样式布局的示例:)Partial dup:看起来不像是重复的,因为此问题也需要固定列。出于原则,我投票重新打开此问题。几十张赞成票,显然有人觉得它很有用。是的,这需要一个很长的答案。这就是JFIDLE和其他类似工具的用途。@kicking莴苣流行度!==关于主题。如果这个问题被重新打开,它将再次被关闭。谷歌在我第一次搜索时就把我带到了这个问题上,但是答案已经过时了,也不是很令人满意。我最终在这里找到了答案:谢谢,这对固定标题部分很有帮助,但是固定列呢?overflow-y是ms特有的。您必须使用普通溢出:auto。@levik:在几乎所有浏览器中都不起作用,至少在standrad模式下使用HTML5 DOCTYPE。这不起作用……根本不起作用!谢谢,我看了一下。它确实有一个滚动表,但它有一个固定的标题,但没有我需要的固定列。是的,我从他们的示例列表中也找不到。在winxp ie8或ff3.6中对我不起作用。jQuery.com上托管的jQuery库的链接已更改,它们的重定向不正确。。。因此,它在所有浏览器中都停止工作。我已经修复了指向谷歌服务器上文件的链接,希望它更可靠。谢谢。这对我帮助很大。我不得不修改代码以使用setTimeout()使其能够处理较大的表,但这是一个很好的示例。第二个现在显示了如何生成固定的第一列。答案中的两个链接都已失效。我认为您误解了所问的内容。我们希望能够滚动到(大)表中的不同单元格。如何下载此解决方案?同时添加下载链接这不是一个很好的解决方案,IE已停止支持CSS表达式:“大多数用户仍在使用IE”LOL:是否可以将此方法用于“响应”列(未定义固定宽度)?注意:根据我的经验(如果我错了,请纠正我),只有当所有表单元格的
colSpan
和rowsspan
=1时,它才有效。我感觉assi
<table>
<thead>
<tr><th>Stuff</th><th>Second Stuff</th></tr>
</thead>
</table>
<div style="height: 600px; overflow: auto;">
<table>
<tbody>
//Table
</tbody>
</table>
</div>