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实现鼠标滑过遮罩并高亮显示效果
Jul 16 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
Apr 06 Javascript
JavaScript中的Repaint和Reflow用法详解
Jul 27 Javascript
js实现获取当前时间是本月第几周的方法
Aug 11 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
详解webpack-dev-server使用http-proxy解决跨域问题
Jan 13 Javascript
php结合js实现多条件组合查询
May 28 Javascript
Vue中实现回车键切换焦点的方法
Feb 19 Javascript
JS中FormData类实现文件上传
Mar 27 Javascript
JS 数组和对象的深拷贝操作示例
Jun 06 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
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与ASP
2006/10/09 PHP
php自动获取目录下的模板的代码
2010/08/08 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
python实现360的字符显示界面
2014/02/21 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
理论讲解python多进程并发编程
2018/02/09 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python解析多帧dicom数据详解
2020/01/13 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
Java的类与C++的类有什么不同
2014/01/18 面试题
文秘专业自荐信
2013/10/14 职场文书
高校十八大报告感想
2014/01/27 职场文书
党在我心中演讲稿
2014/09/02 职场文书
党政领导班子群众路线对照检查材料思想汇报
2014/09/27 职场文书
机关作风建设整改方案
2014/10/27 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书