我是如何做固定头部(thead)的

本文介绍了如何在前端开发中实现滚动时固定表格头部(thead)。讨论了CSS的解决方案,如使用`position: sticky`属性以及通过`position: absolute`和`position: fixed`模拟固定效果。同时,文章探讨了JavaScript方案,包括动态调整列宽以适应不同浏览器,并利用`caption`标签解决thead高度问题。
摘要由CSDN通过智能技术生成

在前端开发中经常遇到需要页面滚动时,固定某个区域显示,常见表格的需求,因为表格有很多列,如果列名不固定在顶部显示,滚动到底部时,可能就不知道某些列对应的是什么了

那我们就聊一下如何在滚动时固定(thead),让它始终显示在列表的上方

css的方案

如何让tbody滚动

如果我们用css来实现,网上常见的一种方案是给tobdy一个固定高度,然后让它滚动,这样就实现了滚动列表时,thead不动。

有同学说tbody没办法滚动,所以网上也有用div来拼表格的,这样就容易滚动了。其实tbody也可以滚动的,比如tbody{display:block} 这样列的宽度就需要用css来控制了,总之是可以达到的。

这个方案的缺点在于,页面上有很多滚动条,tbody的,页面的。虽然该方案易实施,但在视觉设计师那里通常是不能忍受的。

使用sticky属性

现在css里有一个position:sticky属性,正好可以实现该需求,我们只需要给thead加上position:sticky即可。关于sticky的浏览器支持可以看这里 http://caniuse.com/#search=st...

这里有一个坑的地方,给thead的position指定sticky,chrome、safari都可以支持,唯独firefox是不行的,也就是写上后没有任何

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值