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 相关文章推荐
Bootstrap中的Panel和Table全面解析
Jun 13 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 Javascript
微信小程序自定义导航隐藏和显示功能
Jun 13 Javascript
荐书|您有一份JavaScript书单待签收
Jul 21 Javascript
20行JS代码实现粘贴板复制功能
Feb 06 Javascript
react配合antd组件实现的管理系统示例代码
Apr 24 Javascript
微信小程序基于picker实现级联菜单
Feb 15 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
Jun 06 Javascript
Vue开发中遇到的跨域问题及解决方法
Feb 11 Javascript
Map与WeakMap类型在JavaScript中的使用详解
Nov 18 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
如何开始收听短波广播
2021/03/01 无线电
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
php 强制下载文件实现代码
2013/10/28 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
js查找节点的方法小结
2015/01/13 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
Python字符转换
2008/09/06 Python
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
电子狗项圈:eDog Australia
2019/12/04 全球购物
药剂专业求职信
2014/06/20 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
小学体育教学随笔
2015/08/14 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python
Python实现聚类K-means算法详解
2022/07/15 Python