1. 程式人生 > >純CSS實現隱藏滾動條但仍具有滾動的效果

純CSS實現隱藏滾動條但仍具有滾動的效果

移動端

移動端頁面只要相容 Chrome 和 Safari 就夠了,所以可以使用自定義滾動條的偽類選擇器 ::-webkit-scrollbar 來隱藏滾動條。

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

PC 端

PC 端對相容性的要求相對來說要高一點,所有可以換一種方法,大致思路就是在內容div外面包一個父容器div,設定 overflow: hidden,內容div設定 display-x: hidden; display-y: auto; 最後設定父容器div的寬度小於內容div的寬度或者設定內容div的 margin-right 為負值就可以了。

<div class="outer">
    <div class="content">
      <p>1111</p>
      <p>222</p>
      <p>333</p>
      <p>444</p>
    </div>
</div>
 .outer {
   width: 300px;
   height: 300px;
   overflow: hidden;

   .content {
     width: 330px;
     /*margin-right: -15px;*/
     height: 100%;
     overflow-x: hidden;
     overflow-y: auto;
     background: red;
     padding-top: 100px;

     p:not(:first-child) {
       margin-top: 100px;
     }
   }
 }