最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)

来源:动视网 责编:小采 时间:2020-11-27 21:52:18
文档

vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)

vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同): mounted() { // 在mounted中监听表格scroll事件 this.$refs.scrollTable.addEventListener( 'scroll',(event) => { this.adjustTable(event); }); }, ...... // target中的属性很多,可以通过控制台查看—-client
推荐度:
导读vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同): mounted() { // 在mounted中监听表格scroll事件 this.$refs.scrollTable.addEventListener( 'scroll',(event) => { this.adjustTable(event); }); }, ...... // target中的属性很多,可以通过控制台查看—-client


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的可视页面宽度调整表头与列对齐(每列宽度不都相同),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

文档

vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)

vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同): mounted() { // 在mounted中监听表格scroll事件 this.$refs.scrollTable.addEventListener( 'scroll',(event) => { this.adjustTable(event); }); }, ...... // target中的属性很多,可以通过控制台查看—-client
推荐度:
标签: vue中 table( 的可视
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top