使用el-scrollbar改造el-table滚动条

1,901 阅读1分钟

为什么:el-table自带的滚动条浏览器兼容性不好,尤其是火狐,会显示丑陋的原生滚动条,

而el-scrollbar虽然是js计算组件,但是对浏览器兼容性满足需求

方法:

el-scrollbar包含普通的ul、div元素都能很好的展示滚动条,但是包含el-table如果不做任何处理,el-scrollbar不会生效

分两步进行改造

//禁止eltable的滚动条显示
.el-table--scrollable-x .el-table__body-wrapper{ 
    overflow-x:hidden
}
//禁用el-scrollbar__wrap的横纵滚动条显示,
.el-scrollbar__wrap{ 
    overfow:hidden
}

2.

//因为el-table自带滚动条,所以el-table最外层的div不会溢出,导致el-scrollbar不生效、
需要修改el-table内部属性,使得el-table呈现真实的宽高,让外层的el-scrollbar__view被el-table撑大
最后el-scrollbar__wrap就会出现滚动条
.el-scrollbar .el-scrollbar__wrap .el-scrollbar__view{ 
    display:inline-block;
    width:auto !important;
}
.el-table{ 
    width:auto !important;
    max-width:auto !important;
    display:inline-block !important    .el-table__header-wrapper{ 
       display:inline-block !important;
       width:auto !important
    }
}
//设置inline-block是关键:
如果display是block,宽高会根据父元素自动设定
如果display-inline 宽高会被元素的内容撑开,这样就会形成溢出,最终el-scrollbar__wrap会计算形成滚动条