el table 固定表头和首行_vue表格实现固定表头首列
前言
最近在做vue移动端项目,需要做一个可以固定表头首列的表格,而且由于一些原因不能使用任何UI插件,网上找了很久也没什么好方法,所以在解决了问题之后,写下了这篇文章供后来人参考,文章有什么错漏的问题欢迎评论交流。
效果
思路
要实现固定首行首列
除了使用各种UI框架插件外,那就是自己用原生写啦
首先我们理一下思路
如何固定首行首列呢?
可能每个人有不同的想法
我这里当然介绍的是我自己的想法
那就是把首列表头和表格主内容分割开来,如下图
不过这样虽然固定了表头首列
但还是不能实现我们想要的效果
因为你会发现当你滑动tbody的时候
表头和首列并不会移动
相信聪明的你已经有了解决的办法了
那就是给tbody添加一个滑动监听
滑动的时候会触发事件
引起表头和首列的移动
这就是本文固定表头首列的思路
代码实现
template:
v-for = "(b,index) in header"
v-if="index==0">
{{b}}
ref="firstColLayer"
data-_ref="firstColLayer"
>
{{c}} |
ref="firstRowLayer"
data-_ref="firstRowLayer">
v-for = "(b,index) in header"
v-if="index!=0 && index!=1"
style="width:101px"
>
{{b}}
style="overflow:scroll"
ref="tableContainer"
@scroll="tableDivScroll($event)"
>
v-if="index!=0 && index!=1" > {{c}} |
JavaScript:
module.exports = (function(that) {
return {
data: function(that) {
const tableHeader = that.dataSheet;
const dataSheet = that.dataSheet;
return {
dataSheet: dataSheet,
tableHeader: tableHeader,
};
},
methods: {
tableDivScroll (event) {
const $target = this.$refs.tableContainer
// 首行固定
this.$refs.firstRowLayer.scrollLeft = $target.scrollLeft
// 首列固定
this.$refs.firstColLayer.scrollTop = $target.scrollTop
},
//定一个生命周期钩子监听变动
mounted:function () {
let maxHeight = window.screen.height
document.body.style.overflow='hidden';
this.$refs.right.style.width=""+this.$refs.table.offsetWidth-107+"px";//这里的减107是减去左侧div宽度
console.log(this.placeholderTop)
}
}
})(this);
CSS:
body{
overflow:hidden
}
.pages{
height:100%;
overflow:hidden;
}
.content{
margin-top:73px;
margin-left:17px;
width:100%;
}
.left-content{
width:101px;
float:left;
}
.right-content{
float:left
}
.table-body{
width:100%;
overflow:auto;
}
.table-head{
width:100%;
overflow:hidden;
}
.left-content .table-body{
overflow:hidden;
}
.table-left .table{
height:400px;
background-color:#FFFFFF;
overflow:hidden;
margin-right:0;
padding-right:0;
}
table::-webkit-scrollbar{display:none}
.content-table th, .full-table th{
font-size:14px;
font-family:PingFangSC-Regular;
background:#EAEFF3;
font-weight:400;
color:#176BED;
height:40px;
line-height:40px;
text-align:center;
}
.content-table td, .full-table td {
line-height: 35px;
text-align: center;
word-wrap: break-word;
word-wrap: normal\0;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
}
th,td p{
width:101px;
display: inline-block;
line-height:14px;
padding:auto 0;
margin:auto 0;
vertical-align: middle;
}
.content-table {
display:block;
background-color:#FFFFFF;
}
thead,tbody{
background-color:#FFFFFF;
}
Ps:有什么问题可以在评论区一起探讨
el table 固定表头和首行_vue表格实现固定表头首列相关推荐
- html首行缩进语言,css如何设置首行缩进2字符?
用CSS实现段落首缩进两个字符.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位. 在这里我们需要了解一种长度单位em.em是相对长度单位.相对于当前对象内 ...
- 换行样式不要首行缩进_CSS实现文章段落首行缩进两个字符不再每次空格
段落前面空两个字的距离,不要再使用空格了.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字. 代码如下: p{ text- ...
- mySQL首行缩进快捷键_如何实现首行缩进效果
可以通过CSS中的text-indent属性来实现首行缩进效果 我们在写页面的时候,尤其是碰到那些文本内容过多导致页面效果不好看时,这时我们可以通过首行缩进的方法来使文章内容更加有层次感.我们可以通过 ...
- php段落首行缩进2字符,利用wordpress首行缩进代码,搞定文章首行缩进2字符!
越来越多的小伙伴喜欢用wordpress来搭建个人网站,但是很多人对wordpress并不是很熟悉,所以在使用过程中经常遇到各种各样的问题,比如寻小山在2005年刚刚开始写博客的时候,使用的wordp ...
- php文本首行缩进,html设置页面文本首行缩进
text-indent属性介绍 属性值单位:em,1em 就代表缩进1个字,2em缩进2个字...... 注意:text-indent属性的值支持为负数. (相关教程推荐:html入门教程) 演示代码 ...
- html首行下沉效果,CSS样式 | 段落首字下沉
HTML+CSS 实现段落首字下沉 HTML5学堂:在项目中,时常能看到了一种文字展示的特殊效果--首字下沉(如图).于是花了几分钟考虑了一下使用方法,脑测之后,又敲了敲代码实现了一下,写出来与大家分 ...
- html首行字放大标签,CSS设置首字放大
CSS设置首字放大 在很多的文章中,都有一个首字放大的效果,在CSS中同样可以实现该效果. CSS中通过对第一个字,进行单独的设置从而实现该效果. 首字放大 中秋节是远古天象崇拜--敬月习俗的遗痕.据 ...
- html首行下沉效果,css仿word首字下沉效果示例
css首个文字下沉效果 用过word的大部分人都知道,word里有一个首字下沉功能,在文章的排版时用,有时能给文章增色不少. 用css仿word的首字下沉功能,不用修改代码,只用到css的伪元素:fi ...
- word首行在表格内容多时被挤到表格最后问题
1.问题描述 (1)word表格前面有一行文字描述,当表格行数或内容增多时,该一行文字描述被挤到表格后面了. (2)word表格行数或内容增多时,表格压在了页脚上面. 2.问题产生原因 (1)至今不清 ...
最新文章
- Oracle批量导出AWR报告
- video processing on Mac and iOS
- 设计模式之 Singleton 单例模式
- 索引处理类的设计与实现
- 1022 Digital Library (30 分) 【难度: 中 / 知识点: 哈希表】
- leetcode刷题实录:1
- 分类图 Class Diagram
- Muduo 网络编程示例之五: 测量两台机器的网络延迟
- catia2017安装包打开没反应_云顶手游10.19安装包,9月16日
- 刚刚,无人驾驶公司Roadstar,发公告把联合创始人开除了
- 默认参数和命名关键字参数(1)
- shell unzip,zip
- WEB2.0概念诠释
- 破解密码——利用粘滞键漏洞破解Windows 7 PIN
- 【有限元分析】电力塔架ansys有限元模型
- matlab 变限积分计算,Matlab变限积分计算【方法教程】
- HTML与CSS3的知识整理
- 慕课网风袖小程序 一一第一阶段
- 冰汽朋克侦查机器人_冰汽时代机器流玩法 寒霜朋克机器人流玩法怎么玩
- 长安大学转计算机专业,长安大学本科学生转换专业管理办法