经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
vue中获取滚动table的可视页面宽度,调整表头与列对齐(每列宽度不都相同)
来源:cnblogs  作者:一个一  时间:2019/8/16 13:34:08  对本文有异议
  1. mounted() {
         // 在mounted中监听表格scroll事件
  2. this.$refs.scrollTable.addEventListener( 'scroll',(event) => {
  3. this.adjustTable(event);
  4. });
  5. },
  6. ......

  7. // target中的属性很多,可以通过控制台查看—-clientWidth可以获取除滚动条外的可视区域宽度
  1. adjustTable(event) {
  2. this.clientWidth = event.target.clientWidth;
  3. },

获取clientWidth,可以调整表头与列对齐(最后一列的宽度不设置)

  1. <table class="cl-body-table" cellpadding="0" cellspacing="0">
  2. <thead :style="{'width':clientWidth+'px'}">
  3. <th style="width:8%"></th>
  4. <th class="cl-thead-th"></th>
  5. </thead>
  6. <tbody></tbody>
  7. </table>
  8. .......
// 表格滚动
  table tbody {
    display: block;
    height: 495px;
    overflow-y: auto;
    overflow-x: hidden;
  }
// 表头固定
  table thead,
  tbody tr {
    display: table;
    table-layout: fixed; /* 使用表格固定算法 必须配合上面一起使用 */
    width: 100%;
  }
//列宽度
  1. .cl-thead-th {
  2. &.is-not-last {
  3. width:13.142857143% // 最后一列不设宽度,才能表头与列对齐
  4. }
  5. }

网上最简单的表头与列对齐,由于我第一列的宽度与其他列宽度不同,导致始终不能对齐。因此我采用以下方法无效

  1. // 表格滚动
  2. table tbody {
  3. display: block;
  4. height: 495px;
  5. overflow-y: auto;
  6. overflow-x: hidden;
  7. }
  8. // 表头固定
  9. table thead,
  10. tbody tr {
  11. display: table;
  12. table-layout: fixed; /* 使用表格固定算法 必须配合上面一起使用 */
  13. width: 100%;
  14. }
  15. // 调整表头与列对齐
  16. table thead {
  17. width:calc(100%-2em)
  18. }

 

原文链接:http://www.cnblogs.com/yyiyu/p/11363001.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号