el-scrollbar显示横向滚动条

3,830 阅读1分钟
让横向滚动条出现,同时不显示默认的滚动条,
需要在 .el-scrollbar__wrapoverflow: scroll,给它添加

.el-scrollbar__wrap {
  height: calc(100% + 17px); //多出来的17px是为了把.el-scrollbar__wrap所产生的浏览器默认样式的横向  滚动条"挤"出它的父级.el-scrollbar的可视范围
}

在el-scrollbar 是 overflow: hidden; 

出现横向滚动条的关键原则是.el-scrollbar__view内的"内容",必须要有个固定的最小宽度,这样当外层.el-scrollbar容器的宽度小于"内容"的最小宽度时,横向滚动条就会出现。

image.png

比如下图中我的"内容"是tree,我设置其最小宽度为500px,当外面.el-scrollbar容器的宽度小于这个值时,就会出现横向滚动条。

image.png

不同场景中不一定都能设置一个固定的min-width,比如上图中,tree组件随着展开层级的不同,其width是变化的,为了能在横向看完整树节点的内容,我就设置了tree的width:max-content;,始终让tree的宽度能包住完整的节点内容。

image.png 我设置min-width: 100%;的目的,是当树内容为空时,'empty-text'内容还能正常显示。

image.png

如果没有min-width: 100%;,我的"内容"宽度成了0,导致'empty-text'都无法正常显示。

image.png