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变量作用域使用中常见错误总结
Mar 26 Javascript
javascript读取xml实现javascript分页
Dec 13 Javascript
基于iframe实现类似于ajax的页面无刷新
May 31 Javascript
Javascript中拼接大量字符串的方法
Feb 05 Javascript
jsTree使用记录实例
Dec 01 Javascript
angularjs实现猜大小功能
Oct 23 Javascript
js实现动态改变radio状态的方法
Feb 28 Javascript
vue通过cookie获取用户登录信息的思路详解
Oct 30 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
Jul 16 Javascript
vant实现购物车功能
Jun 29 Javascript
ElementUI 修改默认样式的几种办法(小结)
Jul 29 Javascript
AJAX学习笔记
May 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
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
YUI模块开发原理详解
2013/11/18 Javascript
javascript判断office版本示例
2014/04/11 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
微信小程序监听用户登录事件的实现方法
2019/11/11 Javascript
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
Python帮你识破双11的套路
2019/11/11 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
一些Unix笔试题和面试题
2012/09/25 面试题
给排水专业应届生求职信
2013/10/12 职场文书
入党自我评价优缺点
2014/01/25 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
2014年外联部工作总结
2014/11/17 职场文书
北京颐和园导游词
2015/01/30 职场文书
病假条格式范文
2015/08/17 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS