两个table如何实现固定表头拖动时仅限表体移动
小编给大家分享一下两个table如何实现固定表头拖动时仅限表体移动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
刚开始接触asp.net,经理就让给以前的一个项目做固定表头,顾名思义,就是在一个表中,表头固定,在拖动滚动条时,仅限表体移动,但是当横向拖动滚动条时,表头也会跟随表体一起移动,就是以下效果:
我采用了两个table的方式,就是将表头放进一个table中,将表体放入一个table中,这样就可以灵活的操纵滚动条了
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
姓名 | 性别 | 年龄 |
小明的地地道道的地地道道的 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
小明 | 男 | 12 |
其中有有三个div,最外侧一个,控制全局,一个控制表头,一个控制表身。有以下几点注意:
1.最外侧的div,需要用overflow-x来控制最横向滚动,因为overflow-x、y在IE中存在兼容性问题,当overflow-x/overflow-y其中之一被设置成'scroll'、'auto'、'hidden'时,另一个还是'visible',不会被设置为'auto' 所以,最好使用 "overflow-x:scroll; overflow-y:auto",这时候,右边的在需要时才会显示。如果希望右边的滚动条一直不显示,那么,可以使用:"overflow-x:scroll; overflow-y:hidden;"
2.表头和表体的各列需要对齐,所以可以用table-layout:fixed;来固定宽度
3.当用table-layout:fixed;固定了列宽度,也就会有长的内容会显示不全,那么可以用white-space:normal;来进行换行
以上是"两个table如何实现固定表头拖动时仅限表体移动"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!