固定表头和第一列表格的实现

JavaScript014

固定表头和第一列表格的实现,第1张

在开发的时候,我们有时候会有这样的需求:由于表格的内容比较多,如果横竖都出现滚动条就看不到表头了,这就要求表格的表头和第一列固定,并且出现双向滚动条。本文就就给大家介绍一种通过css和两行js简单实现。

如下图,将整个表格分为四个区域:1、左上区域需要单独出来,因为此区域不参与滚动;2、上部表头,需要固定在顶部并且参与横向滚动;3、左边表头,需要滚动并且参与竖向滚动;4、表格主区域,会有横竖向的滚动,控制顶部和左边的表头。

table的th或者td里面套一个div并设置宽度,目的是为了撑开table的表格,因为单独给th或者td是不起作用的。

技术博客

CSDN: http://blog.csdn.NET/gisshixisheng

在线教程

https://edu.csdn.net/course/detail/799

https://edu.csdn.net/course/detail/7471

联系方式

.FixedTitleRow /*固定行*/

{

position: relative

top: expression(this.offsetParent.scrollTop)

z-index: 10

background-color: #00FFFF

}

.FixedTitleColumn /*在固定的行中固定列*/

{

position: relative

left: expression(this.parentElement.offsetParent.scrollLeft)

}

.FixedDataColumn/*固定body列*/

{

position: relative

left: expression(this.parentElement.offsetParent.parentElement.scrollLeft)

background-color: #00FFFF

}

在指定的行和列中引入以上CSS,就可以固定指定的行和列,不过不建议使用,通过CSS中的expression嵌入js代码的方式很耗浏览器性能,并且只支持ie