说明:

使用easyui等都可以实现table固定首行首列的功能。
但仅仅只需要这一个功能,完全可以用css+js简单实现而不用引入更多工具。
网上找到很多的思路,自己对其中比较简单的一个进行了整理。

大致效果:

Paste_Image.png

页面布局:

Paste_Image.png

如上图:
1、整个页面分成 左右 两部分:
2、左边分为 上下 两部分
3、右边分为 上下 两部分(红色框比较特殊,多加一个div为了防止列的偏移)

具体步骤:

1、html:(省略tr、td)

<div id="left_div"><div id="left_div1"><table id="left_table1"></table></div><div id="left_div2"><table id="left_table2"></table></div>
</div>
<div id="right_div"><div id="right_div1"><div id="right_divx"><table id="right_table1"></table></div></div><div id="right_div2"><table id="right_table2"></table></div>
</div>

2、css:

(1)left_div与right_div 使用左浮动
(2)上图蓝色div框,宽度可以都使用100%,跟随左右大的div(left_div与right_div)
(3)left_div2 及 right_div1 需要加上overflow: hidden
(4)防止列错位:right_divx(上图红色div框)的宽度需要大于right_table1及right_table2,20px
(5)防止行错位:left_div2 高度 大于 right_div2 高度,20px

td{width: 100px;
}
#left_div{width:200px;float: left;
}
#left_div1{width: 100%;
}
#left_div2{width: 100%;height: 100px;overflow: hidden;
}
#right_div{width: 600px;float: left;
}
#right_div1{width: 100%;overflow: hidden;
}
#right_divx{width: 820px;
}
#right_div2{width:100%;height:120px;overflow: auto;
}
#right_table1{width: 800px;
}
#right_table2{width: 800px;
}

3、js:

思路:
1、左下div(left_div2) 随着 右下div(right_div2) 上下移动
2、右上div(right_div1) 随着 右下div(right_div2) 左右移动

var right_div2 = document.getElementById("right_div2");
right_div2.onscroll = function(){var right_div2_top = this.scrollTop;var right_div2_left = this.scrollLeft;document.getElementById("left_div2").scrollTop = right_div2_top;document.getElementById("right_div1").scrollLeft = right_div2_left;
}

作者:魔力小小鸟
链接:http://www.jianshu.com/p/3215f8dc4b39
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

css+js简单实现table固定首行首列相关推荐

  1. table固定列html5,css+js简单实现table固定首行首列

    说明: 使用easyui等都可以实现table固定首行首列的功能. 但仅仅只需要这一个功能,完全可以用css+js简单实现而不用引入更多工具. 网上找到很多的思路,自己对其中比较简单的一个进行了整理. ...

  2. table固定首行首列

    原理 表格左右拆分,再上下拆分,最后拆分为四个table容器 滚动右下table时,加scroll事件,控制左下scrollTop与右上scrollLeft两个table的scroll值 注意 左下. ...

  3. html表格固定首行首列

    html表格固定首行首列,适用于标准表格,格式如下: <div><table><tbody><tr><th></th></ ...

  4. CSS笔试题: 实现表格首行首列固定和自适应窗口

    今天校招笔试题要求实现一个首行首列固定,宽度自适应窗口变化,但窗口缩小到一定宽度不能再缩小,出现水平滚动条- 当时我写错了,我一时想不起改用什么办法首行首列固定,用绝对定位,父亲相对定位-这样会有很多 ...

  5. HTML 锁定表格首行首列、拖拽表格列宽

    摘自:http://s.yanghao.org/program/viewdetail.php?i=61717 因为与自己的实际情况有些不同,简单的改造了下...如果有版权问题,请留言... 锁定Tab ...

  6. js实现表格首行首列固定滑动

    js+css实现table首行首列的冻结效果. 这个方案是把表格分为4块,首行首列不可滑动,利用onscroll 动态根据内容设置冻结首行首列内容. html <div id="lef ...

  7. 第一次预习作业(html,css,js简单介绍,HTML常用标签)

    目录 一.HTML,CSS,JS,简单介绍 1.HTML 2.CSS 3.JS 二.HTML常用标签 一.HTML,CSS,JS,简单介绍 1.HTML HTML 是用来描述网页的一种语言. HTML ...

  8. 【Axure视频教程】固定中继器表格首行首列

    今天教大家在Axure里如何制作固定中继器表格首行首列的原型模板,包括固定首行(标题行)和首列.固定首行(标题行)和前两列两个案例,因为是用中继器表格制作的,所以使用也非常方便,我们只需要在中继器表格 ...

  9. 运用HTML+CSS+JS简单制作苹果官网首页

    运用HTML+CSS+JS制作苹果官网首页 上次例会所留任务是用上HTML+CSS+JS做一个网页.内容自定. 我想的是做一个苹果官网首页的网页. 大概是这样的:苹果官网首页 我所做的和它相差不多 不 ...

最新文章

  1. [置顶] java面试题经典20例【第三季】
  2. Single-Shot Object Detection with Enriched Semantics
  3. List接口中常用的方法
  4. H264 介绍[1]
  5. 背英语单词很困难,不妨学习一下词根词缀吧(每天10个词根、词缀)Part 3
  6. 用多媒体库 Bass.dll 播放 mp3 [8] - 实时显示左右声道的峰值
  7. python find方法的复杂度_python内置的方法的时间复杂度
  8. 实现数据库实时更新 jQuery Timers
  9. 3项目里面全局用less变量 cli vue_vue-cli3配置使用vw实现移动端适配案例
  10. Linux+Apache+PHP+MySQL服务器环境(CentOS篇)
  11. Node.js相关——CommonJS规范
  12. 全局 快捷键_表格快捷键
  13. wget: unable to resolve host address的解决方法
  14. 精简、root康佳电视升级包LED37R5200PDF(晨星Mstar),工具mstar-bin-tool等
  15. 联想小新pro16按不了Fn+Q键
  16. 在用友U8V13.0erp软件供应链管理的存货核算模块中正常单据记账后,查看存货核算的收发存汇总表时,发现存货有数量但没有结存金额,应如何调整?
  17. python开源怎么盈利_弄清楚Python最火的开源项目,你就掌握了商机
  18. 欧洲杯第一周的比赛闲聊
  19. Mysql的分组函数
  20. 2015.11--360校招面试-后台C++开发工程师

热门文章

  1. Ubuntu18.04安装Anaconda(最新最全亲测图文并茂)
  2. 2020C证(安全员)证考试及C证(安全员)实操考试视频
  3. R语言FOR循环打印9*9乘法表
  4. 从程序员到项目经理(18):不要试图和下属做朋友【转载】
  5. 诺基亚5800随心与LG GW620非常贴身竞争
  6. JVM黑马版:笔记、应用、速查
  7. 笨办法14提示和传递
  8. freemarker 相关(一)
  9. 简书凭什么绑定微信号
  10. 一段经典的英文爱情对白