table表头固定

2,092 阅读1分钟

1.纯css实现

主要使用css的粘性定位position:sticky

属性的兼容性具体如下:

主要实现:

给table中thead里的th添加position:sticky样式,也需要设置top,left,right,bottom中的一种一个;表头的背景色在滚动过程中是透明的,所以需要设置背景色.

效果图:

2.jQuery插件datatable实现

datatables官网地址:datatables.net/

使用datatables拓展fixedHeader,地址为:datatables.net/extensions/…

表头固定主要是初始化datatable时,多添加三个配置属性,分别是:

{
          scrollY: "200px",          
          scrollX: true, 
          scrollCollapse: true
}

效果图:

3.vue组件库elementUI实现

用vue实现,官网地址:cn.vuejs.org/v2/guide/

elementUI的table组件地址:element.eleme.cn/#/zh-CN/com…

组件中直接提供了表头固定的实现,直接使用.

效果图:

4.纯css另一种实现方式

由datatables的表头固定启发到:

一共两个table,一个只是用于于显示表头的,另一个是进行滚动的

用于滚动的table表头高度设为0,外层多包一层div,用于设置overflow-y:auto;以及高度,可以让table进行滚动.

缺点:有一点的错位

效果图:

5.源码

    源码地址:github.com/snailsmail/…