需求
在一行(例如一个div中)需要排多个元素,如果一行排不下的情况,我们不希望内容换行(默认情况就会换行),而是可以左右让用户进行左右滑动(滚动,例如鼠标拖动或者手指拖动),另外因为不影响美观,还希望可以隐藏横向的左右拖动滚动条。
实现
我已经写好了h-scroll,只要给上层div加这个class就可以了。
.h-scroll {
white-space: nowrap;
overflow-x: scroll;
overflow-y: hidden;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
另外h-scroll下面的子元素,例如是一些div,那么要给这些div设置成display:inline-block;
.h-scroll div {
display: inline-block;
}
以下CSS加在h-scroll上,可以隐藏横向滚动条,如下:
/* Safari and Chrome 下隐藏滚动条,但是还是可以滚动 */
.h-scroll::-webkit-scrollbar {
display: none; /* Safari and Chrome */
}
vue下实现鼠标或者手指拖动的滚动效果,详见:https://blog.terrynow.com/2022/07/02/vue-dragcroll-implement-drag-scroll/
文章评论