如何隐藏滚动条但又能滚动

时间:2022-09-04 17:49:50

先上代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style> #parent{ overflow: hidden;
        } #child{ width: 100%; height: 400px; overflow-y: scroll; padding-right: 20px; /* 滚动条的宽度 */ border: 1px solid #ddd;
        }
    </style>
</head>
<body>
<div id="parent">
    <div id="child"> 1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> 1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> 1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> end. </div>
</div>
</body>
</html>

实践出真知,简单描述下个人见解:实际上#child上是存在y轴的滚动条的, 只不过#child的宽度位#parent的100%,而又加上20px滚动条宽度的padding-right, 所以实际#child的y轴滚动条在最右边,屏幕可视区域的右边20px。而#parent的overflow为hidden,故不可加。可以把#parent的overflow:hidden;去掉,会出现根元素html的x轴滚动条,右滑,便可以看到#child的y轴滚动条了。本人也是尝试了好多写法才得出这个结论,如有理解不正之处请指正。