移动端scroll滚动条不自动隐藏
前言:
笔者近期领到这样一个需求,因为在移动端如果一个页面超出了屏幕的高度,它的滚动条是自动隐藏的,这就给用户造成了这里不能滑动的错觉以至于用户漏看了重要的信息。所以产品希望我控制这个scroll,让它常显。
做法:
主要还是css样式上的控制
::-webkit-scrollbar 滚动条整体部分
::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或往左往右移动,取决于是垂直滚动条还是水平滚动条)
::-webkit-scrollbar-track 滚动条的轨道(里面装有Thumb)
::-webkit-scrollbar-button 滚动条的轨道的两端按钮,允许通过点击微调小方块的位置。
::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分(除去)
::-webkit-scrollbar-corner 边角,即两个滚动条的交汇处
::-webkit-resizer 两个滚动条的交汇处上用于通过拖动调整元素大小的小控件
// element为需要scroll常显的元素
.element {
height: 100%;
transition: height 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
overflow-y: scroll;
}
.element::-webkit-scrollbar-track-piece {
background-color: rgba(0, 0, 0, 0);
border-left: 1px solid rgba(0, 0, 0, 0);
}
.element::-webkit-scrollbar {
width: 5px;
height: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.element ::-webkit-scrollbar-thumb {
background-color: rgba(191, 191, 191, 191);
background-clip: padding-box;
-webkit-background-clip: padding-box;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
min-height: 28px;
}
.element::webkit-scrollbar-thumb:hover {
background-color: rgba(0, 0, 0, 0.5);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}