zoukankan      html  css  js  c++  java
  • vue中获取滚动table的可视页面宽度

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

    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="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; /* 使用表格固定算法 必须配合上面一起使用 */
         100%;
      }
    //列宽度
    
    .cl-thead-th {
            &.is-not-last {
                13.142857143%  // 最后一列不设宽度,才能表头与列对齐
            }
        }

    广州品牌设计公司https://www.houdianzi.com PPT模板下载大全https://redbox.wode007.com

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

    // 表格滚动
    table tbody {
        display: block;
        height: 495px;            
        overflow-y: auto;
        overflow-x: hidden;
    }
    // 表头固定
    table thead,
    tbody tr { 
        display: table;
        table-layout: fixed; /* 使用表格固定算法 必须配合上面一起使用 */
         100%;
    }
    // 调整表头与列对齐
    table thead {
        calc(100%-2em)
    }
  • 相关阅读:
    strspn实现 查找第一个不在指定字符串中出现的字符
    strstr 的实现 即 字符串中查找子字符串第一次出现的位置
    strcspn
    将字符串中的大写字母变成小写字母
    strrchr 字符在字符串中最后一次出现的位置
    strchr 字符c在字符串中出现的位置 实现
    qsort库函数 排序
    strncmp实现
    strcmp实现
    ACM/ICPC题目输入情形及其处理方法
  • 原文地址:https://www.cnblogs.com/qianxiaox/p/14102199.html
Copyright © 2011-2022 走看看