如何隐藏掉手机端页面的滚动条

::-webkit-scrollbar在手机端不管用。有没有其他办法?手机端手机端!!!!

阅读 7.2k
7 个回答

1.在需要滚动的层scrollbar外再加一个层hide-scrollbar。
2.然后将这个层hide-scrollbar的overflow:hidden。
3.将层scrollbar的position:absolute,并且把需要滚动的那一边的大小设置刚好滚动条的大小(用calc实现)。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
    <title>Document</title>
    <style>
        body {
            max-width: 325px;
            padding: 10px 30px;
        }
        
        .hide-scrollbar {
            position: relative;
            width: 100%;
            height: 100px;
            overflow: hidden;
        }
        
        .scrollbar {
            position: absolute;
            width: calc(100% + 18px);
            height: 100%;
            background-color: #ccc;
            overflow-y: auto;
        }
        
        .scrollbar ul {
            margin: 0;
        }
        
        .scrollbar.row {
            width: 100%;
            height: calc(100% + 18px);
            overflow-y: hidden;
            overflow-x: auto;
        }
        
        .scrollbar.row ul {
            white-space: nowrap;
        }
        
        .scrollbar.row ul li {
            display: inline-block;
            line-height: 100px;
        }
    </style>
</head>

<body>
    <h4>竖向</h4>
    <div class="hide-scrollbar">
        <div class="scrollbar">
            <ul>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
            </ul>
        </div>
    </div>
    <h4>横向</h4>
    <div class="hide-scrollbar">
        <div class="scrollbar row">
            <ul>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
                <li>demo-list</li>
            </ul>
        </div>
    </div>
</body>
</html>

可以使用第三方的库 iscroll等,不存在滚动条情况

试试

 <div class="outer-container">
     <div class="inner-container">
        <div class="content">
        </div>
     </div>
 </div>
.outer-container,.content {
    width: 200px; height: 200px;
}
.outer-container {
    position: relative;
    overflow: hidden;
}
.inner-container {
    position: absolute; left: 0;
    overflow-x: hidden;
    overflow-y: scroll;
}

 /* for Chrome */
.inner-container::-webkit-scrollbar {
    display: none;
}

管用的,你仔细看是哪个元素出现了滚动条

同时设置 widthdisplay

::-webkit-scrollbar {
    width: 0px;
}
::-webkit-scrollbar {
    display: none;
}

不用隐藏呀。with设为9,或者颜色设为和背景色一样就隐藏了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题