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 相关文章推荐
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
Jun 03 Javascript
详解JavaScript中Hash Map映射结构的实现
May 21 Javascript
深入浅出讲解ES6的解构
Aug 03 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
Oct 05 Javascript
AngularJS中的DOM操作用法分析
Nov 04 Javascript
用headjs来管理和加载js 提高网站加载速度
Nov 29 Javascript
vue项目中使用百度地图的方法
Jun 08 Javascript
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
layui自定义插件citySelect实现省市区三级联动选择
Jul 26 Javascript
webpack中的模式(mode)使用详解
Feb 20 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 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
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
vue实现评价星星功能
2020/06/30 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
Python中str.format()详解
2017/03/12 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
Python解析多帧dicom数据详解
2020/01/13 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
应届生学校辅导员求职信
2013/11/07 职场文书
幼儿师范毕业生自荐信
2013/11/09 职场文书
高中班长自我鉴定
2013/12/20 职场文书
文明学生事迹材料
2014/01/29 职场文书
男女朋友协议书
2014/04/23 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL