Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有固定标题和固定列的HTML表?_Javascript_Html_Css_Html Table - Fatal编程技术网

Javascript 具有固定标题和固定列的HTML表?

Javascript 具有固定标题和固定列的HTML表?,javascript,html,css,html-table,Javascript,Html,Css,Html Table,是否有一种CSS/JavaScript技术来显示一个长HTML表,以便列标题在屏幕上保持不变,第一列保持不变并随数据滚动 我希望能够滚动浏览表的内容,但始终能够看到顶部的列标题和左侧的第一列 如果有jQuery插件那就太好了!如果它有帮助的话,我唯一关心的浏览器是Firefox。我知道你可以而且似乎可以为Firefox工作(不确定该技术的可扩展性有多大)。第一列在标题正下方的单元格上有一个滚动条 <table> <thead> <th>

是否有一种CSS/JavaScript技术来显示一个长HTML表,以便列标题在屏幕上保持不变,第一列保持不变并随数据滚动

我希望能够滚动浏览表的内容,但始终能够看到顶部的列标题和左侧的第一列


如果有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>