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 相关文章推荐
通过JAVASCRIPT读取ASP设定的COOKIE
Nov 24 Javascript
JSQL 批量图片切换的实现代码
May 05 Javascript
基于jQuery的一个扩展form序列化到json对象
Dec 09 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
JavaScript多线程详解
Aug 12 Javascript
Vue.js表单控件实践
Oct 27 Javascript
AngularJS自定义服务与fliter的混合使用
Nov 24 Javascript
ES6新特性三: Generator(生成器)函数详解
Apr 21 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
Element-UI踩坑之Pagination组件的使用
Oct 29 Javascript
js实现随机抽奖
Mar 19 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中经典方法实现判断多维数组是否为空
2011/10/23 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
2014/11/22 PHP
纯php生成随机密码
2015/10/30 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
javascript模块化简单解析
2016/04/07 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
深入理解Python变量与常量
2016/06/02 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
使用Python pip怎么升级pip
2020/08/11 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
毕业生幼师求职自荐信
2013/10/01 职场文书
医学院学生的自我评价分享
2013/11/19 职场文书
校班主任推荐信范文
2013/12/03 职场文书
军训心得体会
2013/12/31 职场文书
建房协议书
2014/04/11 职场文书
出国留学担保书
2014/05/20 职场文书
应急管理培训方案
2014/06/12 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript