固定表格四周,实现表格上下左右滚动

问题: 

最近做项目统计的时候碰见一个特定的需求,要求表格上下滚动时,表格头尾固定;左右滚动的时候表格,表格第一列最后一列固定。

先上效果图可能会更明了些:

左右滚动时,两列固定,头尾中间部分跟着滚动。

上下滚动时,头尾固定,第一列和最后一列中间部分跟着滚动。

思路:

思考了很久发现,如果单纯的用表格基本很难实现,上下滚动的时候存在相互矛盾的地方。最后换了个思路去用div布局,仿表格设计,来实现这样的效果。

解决:

   1、整体布局:分为上中下三部分,即header,body,footer三个部分。body固高。实现上下滚动。是不是很简单,哈哈。

2、header布局:分为left container right,left10%宽度左浮动,container80%宽度左浮动,right10%宽度左浮动。container里面加一个数据实际宽度的容器column-container(相对定位)。

   3、body,footer同header。

4、控件核心:生成一个宽度同container同宽的(80%)div,里面放置一个同column-container实际数据宽度相同的div(如id=Scroll)。来模拟左右滚动条。

$("#Scroll").scroll(function () {
                var scrollLeft = $(this).scrollLeft();
                $(".column-container").css({ "left": -scrollLeft + "px" });
            });

即,模拟的滚动条去控制header body footer 中的column-container滚动。这样就实现了左右滚动时固定了两列,同时头尾行的container也跟着滚动。

结语:

    由于代码样式等贴出来太冗长了,在这里就只说说思路了。动手试试吧。

时间: 2024-10-05 10:08:49

固定表格四周,实现表格上下左右滚动的相关文章

【基础】固定列宽的表格及示例演示

引言 对我来说,table 有一个非常有用,支持性也很好的 CSS 属性,但它却很少为人所知.它改变了表格的渲染方式,并生成一个更加稳定可靠的布局. 它就是: table { table-layout: fixed; } table-layout的缺省值是 auto,这个属性值及其效果大家十分熟悉.对我来说其效果十分的怪异,具体见如下演示: 查看演示效果 fixed属性值 应用 table-layout: fixed之后,查看演示效果,可以得出如下结论: 给单元格指定的宽度值生效 overflo

JavaScript之表格操作(二)创建表格病填充表格数据

//创建表格 var tableOptions = { way: "insertBefore", //insertBefore,append positionId: "domTest", //定位元素节点的ID tableId: "my-table", rows: 2, cols: 8, data: [ ['四川', '宁夏', '西藏', '北京', '上海', '台湾', '福建', '河北'], ['陕西', '天津', '山东', '江苏

常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全

常用JS图片滚动(无缝.平滑.上下左右滚动)代码大全 今天刚网上看的 不多说直接帖代码---- <head><-----></head><body> <!--向下滚动代码开始--><div id="colee" style="overflow:hidden;height:253px;width:410px;"><div id="colee1"><p>&

javascript如何实现动态创建表格和增加表格的行

javascript如何实现动态创建表格和增加表格的行:在实际应用中,表格的行数不一定都是符合实际要求的,可能需要动态的增加表格的行数,下面就是一段实现此功能的代码实例,并且还实现了隔行变色功能.有需要的朋友可以自行分析一下代码,非常的简单,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>动态操作表格</title> </

iOS中表格(UITableView)嵌套表格的简单实现

iOS中表格(UITableView)嵌套表格的简单实现 首先说一下思路:我们在一个控制器里面定义2个tableview,一个作为被嵌套的rootTable,一个作为嵌套的表格tableView1,那我们要实现UITableViewDelegate,UITableViewDataSource,的代理的时候,该怎么区分呢?其实很简单,有两种方法,一个是给定义的2个tableview设置tag值,另一个是直接写出来tableView == rootTable时实现他得代理,否则就实现tableVie

sas中的sql(6)创建表格、展现表格、插入行、删除行、规定限制条件(constriants)、处理输入错误(undo策略)、update表格、更改列

1:三种建表方式 建表只会在库中建立好表格并在日志中显示,并不会有输出. 1.1:自己定义列来建立一张空表 column-specification = column-define + column-constriants + MESSAGE=/MSGTYPE SAS中数据的存储方式只有两种,一种char(n)一种num.sas也支持sql原生的数据类型,但是最终都会统一转化为这两种 proc sql; create table work.departments (Dept varchar(20

表格标签和表格布局

表格标签 <table> //表格标签: <tr> //行标签 <td> //单元格 http://120.x5.x.x:8080/myhome/mytable.html 表格跨行或者跨列的效果: 跨行: <tr> <td align="center" colspan="2">北京</td> <!--<td align="center">上海</td&

实现html表头固定,表格内的信息向上滚动

效果如下: <!doctype html>Table .table { width: 100%; border-collapse: collapse; border-spacing: 0 } .fixedThead { display: block; width: 100% } .scrollTbody { display: block; height: 262px; overflow: auto; width: 100% } .table td,.table th { width: 200p

自定义表格固定表头,随着表格内容增加出现滚动条

1.首先要固定表头就必须是两个表格组合在一起 2.用一个div把两个表格包在一起,并且设置宽度,在让它可以横向滚动,overflow-x: auto 3.在设置里面两个table的宽度为一样,在设置内容表格overflow-x:hidden;overflow-y:auto <!--表格表头固定--HTML部分> <div class="wrap_table"> <div class="table_head"> <table