前端固定table表头方法之css和js结合实现

Posted _时光悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端固定table表头方法之css和js结合实现相关的知识,希望对你有一定的参考价值。

由于我的页面比较复杂就不贴完整代码了,这里就讲大概思路

先设置css

/** 隐藏滚动条 */
::-webkit-scrollbar {
    width: 8px;
    background-color: transparent;
}
table tbody {
    display: block;
    width: calc(100% + 8px); /*这里的8px是滚动条的宽度*/
    /*height: 600px;*/
    height: auto;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
table thead {
    transform: translateY(0px);
    background: #fff;
    z-index: 999;
}
table thead tr, table tbody tr {
    box-sizing: border-box;
    table-layout: fixed;
    display: table;
    width: 100%;
    border-bottom: none;
}

 

js部分:

// 固定表头
    $(document).scroll(function() {
        var scroH = $(document).scrollTop(); //滚动高度
        if(scroH > 170){ //距离顶部的高度(根据自己实际情况来定):也就是需要固定的地方在滚动到多大距离固定
            var h = scroH - 170
            $("thead").css("transform", ‘translateY(‘+ h+‘px)‘)
        } else {
            $("thead").css("transform", ‘translateY(0)‘)
        }
    });

 

html大概的结构是:

<table>
    <thead>
      <tr></tr>
  </thead>
  <tbody>
    <tr></tr>
  </tbody>
</table>

 

以上是关于前端固定table表头方法之css和js结合实现的主要内容,如果未能解决你的问题,请参考以下文章

css手写一个表头固定

bootstrap table 可以固定表头吗

实现固定表头和表列的table组件

实现固定表头和表列的table组件

固定table的表头同时固定列

[前端][CSS] 纯css实现纵向滚动固定表头与横向内容滚动