element 表格fixed列高度无法100%

下文提到的滚动条皆为横向滚动条

错误方法(旧方法,点击查看旧博客)

一下代码虽然能解决fixed列高度无法100%问题,但是会出现fixed列下面的滚动条无法被点击的问题(被fixed列遮挡),所以该方法并不适用

 .el-table__fixed-right,.el-table__fixed {
    height: calc(100% - 17px) !important; 
    // 默认设置高度,17px为滚动条默认高度,如改变滚动条样式需写入自己改变的滚动条样式高度
  }
  .is-scrolling-none ~ .el-table__fixed-right{ // 无滚动条
    height: 100% !important; // 高度设置为100%
  }
  .is-scrolling-none ~ .el-table__fixed { // 无滚动条
    height: 100% !important; // 高度设置为100%
  }
以下两个方法为正确用法,方法二更简单

方法一

将无滚动条时fixed列高度设置为100%,如果有滚动条则设置高度为100%减去滚动条高度

  .el-table__body-wrapper::-webkit-scrollbar { // 滚动条高度
     height: 17px;
   }
   .el-table__fixed-right,.el-table__fixed { // 有滚动条高度减去17px
     height: calc(100% - 17px) !important;
   }
   .is-scrolling-none ~ .el-table__fixed-right{ // 无滚动条,高度设置为100%
     height: 100% !important;
   }
   .is-scrolling-none ~ .el-table__fixed {
     height: 100% !important;
   }

方法二

将fixed列高度设置为100%,并且将el-table__body-wrapper层级提高(这个方法是最简单直接的方法)

  .el-table__body-wrapper { // 提高层级
    z-index: 2;
  }
  .el-table__fixed-right,.el-table__fixed { // fixed列高度100%
    height: 100% !important;
  }

你可能感兴趣的:(vue.js,javascript,elementui)