H5 页面隐藏滚动条

24 阅读2分钟
    .areas{
          height: 0;
          flex: 1;
          overflow: auto;
        }
        ::-webkit-scrollbar {
          display: none; /* Safari and Chrome */
        }
        
        //两种写法都可以
        .areas::-webkit-scrollbar {
  display: none; /* Safari and Chrome */
}

  &::-webkit-scrollbar {   //4、父级盒子:隐藏滚动条(不兼容某些版本ios(iphone13支持滚动)和微信端)
     display: none;
  }

微信 webview 内核由 UIWebView 升级到新内核 WKWebView 后,就不生效了

问题分析:只要添加了 -webkit-overflow-scrolling: touch 平滑滚动属性,隐藏滚动条样式就会失效。

参考

写法一:外层没有固定高

<!DOCTYPE html>
<html>

<head>
  <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  <title>横向滑动</title>
  <style type="text/css">
    .slide-box {
      background-color: antiquewhite;
      margin-top: 200px;
      /*  padding-bottom: 10px; 会把超出的隐藏  why ? 会隐藏超出自身高度的内容。 
       200 + 10 + 1 + 1 = 212
       200 + 10 -10 + 1 + 1 = 202
      ​**overflow: hidden 的规则**:当父容器高度不足时,会裁剪子元素的所有溢出内容(包括 padding、border、内容本身)
      
      
      */
      overflow: hidden;
    }

    .slide-within {
      display: -webkit-box;
      overflow-x: scroll;
      -webkit-overflow-scrolling: touch;
      padding-bottom: 10px;
      /* 因为外层没有给高度   overflow: hidden;*/
      margin-bottom: -10px;
    }

    .slide-item {
      width: 200px;
      height: 200px;
      border: 1px solid #ccc;
      margin-right: 30px;
    }
  </style>
</head>

<body>
  <div>
    <div class="slide-box">
      <div class="slide-within">
        <div class="slide-item"></div>
        <div class="slide-item"></div>
        <div class="slide-item"></div>
        <div class="slide-item"></div>
        <div class="slide-item"></div>
      </div>
    </div>
    <div>
      撒大大的
    </div>
  </div>

</body>

</html>

写法二:父级有固定高度

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <title>移动端隐藏滚动条解决方案</title>
  <style type="text/css">
    * {
      padding: 0;
      margin: 0;
    }

    .container {
      height: 50px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      overflow: hidden;
    }

    .nav {
      height: 100%;
      overflow-x: scroll;
      overflow-y: hidden;
      background-color: #999;
      /*解决ios上滑动不流畅*/
      -webkit-overflow-scrolling: touch;
      padding-bottom: 20px;
      /* margin-bottom: -20px; 不用加 父级已经有固定高度了 */
    }

    .con {
      width: 640px;
      height: 100%;
      display: flex;
      align-items: center;
    }

    .con>li {
      text-align: center;
      font-size: 16px;
      width: 80px;
      color: #fff;
      list-style: none;
    }

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

    .container2{
      width: 100%;
      height: 400px;
      border: 1px solid #000;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      /* overflow: hidden; */
    }
    .nav2 {
      width: 100%;
      height: 100%;
      overflow-x: hidden;
      overflow-y: scroll;
      background-color: #e1e4e1;
      /*解决ios上滑动不流畅*/
      -webkit-overflow-scrolling: touch;
      padding-right: 20px;
    }

    .con2 {
      width: 100%;
      height: 100%;
      /* display: flex; */
      /* flex-direction: column; */
      /* align-items: center; */
    }

    .con2>li {
      text-align: center;
      font-size: 16px;
      width: 100%;
      height: 80px;
      color: #d82b2b;
      list-style: none;
      border: 1px salmon solid;
    }
  </style>
</head>

<body>
  <div class="container">
    <nav class="nav">
      <ul class="con">
        <li>元素一</li>
        <li>元素二</li>
        <li>元素三</li>
        <li>元素四</li>
        <li>元素五</li>
        <li>元素六</li>
        <li>元素七</li>
        <li>元素八</li>
      </ul>
    </nav>
  </div>
  <h4>asdasdas</h4>
  <div>sadads</div>
  <div class="container2">
    <nav class="nav2">
      <ul class="con2">
        <li>元素一</li>
        <li>元素二</li>
        <li>元素三</li>
        <li>元素四</li>
        <li>元素五</li>
        <li>元素六</li>
        <li>元素七</li>
        <li>元素八</li>
        <li>元素九</li>
        <li>元素十</li>
      </ul>
    </nav>
  </div>
</body>

</html>

www.cnblogs.com/wkyuan/p/11…