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 相关文章推荐
在IE模态窗口中自由查看HTML源码的方法
Mar 08 Javascript
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
jQuery中:contains选择器用法实例
Dec 30 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
javascript中CheckBox全选终极方案
May 20 Javascript
javascript中eval解析JSON字符串
Feb 27 Javascript
JS获取地址栏参数的两种方法(简单实用)
Jun 14 Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 Javascript
JavaScript微信定位功能实现方法
Nov 29 Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
Sep 21 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项目的方法
2006/10/09 PHP
php 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
php的dl函数用法实例
2014/11/06 PHP
List Installed Software Features
2007/06/11 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
神经网络(BP)算法Python实现及应用
2018/04/16 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
用python实现将数组元素按从小到大的顺序排列方法
2018/07/02 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
使用keras实现densenet和Xception的模型融合
2020/05/23 Python
Python-for循环的内部机制
2020/06/12 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
Python利用命名空间解析XML文档
2020/08/10 Python
Python基于locals返回作用域字典
2020/10/17 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
学生安全教育材料
2014/02/14 职场文书
社团活动总结格式
2014/08/29 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python