vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)


Posted in Javascript onAugust 17, 2019
mounted() {

 // 在mounted中监听表格scroll事件
    this.$refs.scrollTable.addEventListener( 'scroll',(event) => {
      this.adjustTable(event);
    });
  },
......
// target中的属性很多,可以通过控制台查看—-clientWidth可以获取除滚动条外的可视区域宽度
adjustTable(event) {
      this.clientWidth = event.target.clientWidth;
    },

获取clientWidth,可以调整表头与列对齐(最后一列的宽度不设置)

<table class="cl-body-table" cellpadding="0" cellspacing="0">
    <thead :style="{'width':clientWidth+'px'}">
      <th style="width:8%"></th>
      <th class="cl-thead-th"></th>
    </thead>
    <tbody></tbody>
</table>
.......
// 表格滚动
table tbody {


display: block;


height: 495px;


overflow-y: auto;


overflow-x: hidden;

}
// 表头固定

table thead,

tbody tr {


display: table;


table-layout: fixed; /* 使用表格固定算法 必须配合上面一起使用 */


width: 100%;

}
//列宽度
.cl-thead-th {
    &.is-not-last {
      width:13.142857143% // 最后一列不设宽度,才能表头与列对齐
    }
  }

网上最简单的表头与列对齐,由于我第一列的宽度与其他列宽度不同,导致始终不能对齐。因此我采用以下方法无效

// 表格滚动
table tbody {
  display: block;
  height: 495px;      
  overflow-y: auto;
  overflow-x: hidden;
}
// 表头固定
table thead,
tbody tr { 
  display: table;
  table-layout: fixed; /* 使用表格固定算法 必须配合上面一起使用 */
  width: 100%;
}
// 调整表头与列对齐
table thead {
  width:calc(100%-2em)
}

总结

以上所述是小编给大家介绍的vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
用dom+xhtml+css制作的一个相册效果代码打包下载
Jan 24 Javascript
javascript面向对象编程(一) 实例代码
Jun 25 Javascript
javascript 基础篇2 数据类型,语句,函数
Mar 14 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
javascript比较两个日期的先后示例代码
Dec 31 Javascript
javascript面向对象之访问对象属性的两种方式分析
Jan 13 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
JavaScript中的原型prototype完全解析
May 10 Javascript
AngularJS入门教程之迭代器过滤详解
Aug 18 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
使用微信小程序开发弹出框应用实例详解
Oct 18 Javascript
详解Vue CLI 3.0脚手架如何mock数据
Nov 23 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
Aug 17 #Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
Aug 17 #Javascript
微信小程序移动拖拽视图-movable-view实例详解
Aug 17 #Javascript
微信小程序框架的页面布局代码
Aug 17 #Javascript
vue实现滑动到底部加载更多效果
Oct 27 #Javascript
vue实现页面滚动到底部刷新
Aug 16 #Javascript
vue-mugen-scroll组件实现pc端滚动刷新
Aug 16 #Javascript
You might like
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
js实现网站首页图片滚动显示
2013/02/04 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
Vue.js实现简单动态数据处理
2017/02/13 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
python制作朋友圈九宫格图片
2019/11/03 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
应聘自荐书
2013/10/08 职场文书
大型活动策划方案
2014/01/12 职场文书
2014年情人节活动方案
2014/02/16 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
校庆团日活动总结
2014/08/28 职场文书
现役军人家属慰问信
2015/03/24 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers