前端开发小技巧 - 【CSS】 - 修改滚动条样式(竖滚动条 和 横滚动条)

886 阅读1分钟
  • 注意:选择器 与 :: 之间不能有空格;

1、隐藏滚动条,但是可以支持滚动

选择器::-webkit-scrollbar {
    display: none;
}

2、自定义滚动条样式

.需要添加滚动条盒子的类名 {
    overflow: auto;
    
    &::-webkit-scrollbar {
      /* 宽度 表示 竖滚动条 */
      width: 6px;
      
      /* 高度 表示 横滚动条 */
      height: 6px;
    }
    
    &::-webkit-scrollbar-thumb {
      /* 滚动条 里面的 小方块 */
      border-radius: 10px;
      -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
      background: rgba(0,0,0,0.2);
    }
    
    &::-webkit-scrollbar-track {
      /* 滚动条 里面的 轨道 */
      -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
      border-radius: 0;
      background: rgba(0,0,0,0.1);
    }
  }

3、实例展示

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

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>自定义滚动条样式</title>
  <style>
    .box {
      width: 400px;
      height: 400px;
      margin: 200px auto;
      border: 4px solid red;
      overflow: auto;
    }

    .box-son {
      width: 800px;
      height: 800px;
      background-color: #46f800;
      overflow: hidden;
    }

    /* 隐藏滚动条,但是依然可以滚动 */
    /* .box::-webkit-scrollbar {
      display: none;
    } */

    /* 自定义滚动条样式 */
    .box::-webkit-scrollbar {
      /* 宽度 表示 竖滚动条 */
      width: 6px;
      
      /* 高度 表示 横滚动条 */
      height: 6px;
    }
    
    .box::-webkit-scrollbar-thumb {
      /* 滚动条 里面的 小方块 */
      border-radius: 10px;
      -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
      background: #022ce7;
    }
    
    .box::-webkit-scrollbar-track {
      /* 滚动条 里面的 轨道 */
      -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
      border-radius: 0;
      background: rgba(0,0,0,0.1);
    }
  </style>
</head>

<body>
  <div class="box">
    <div class="box-son"></div>
  </div>

  <script>
    let str = '前端开发小技巧【CSS篇】 - 修改滚动条样式(竖滚动条 和 横滚动条)';
    for (let i = 1; i < 7; i++) {
      str += str;
    };
    document.querySelector('.box-son').innerHTML = str;
  </script>
</body>

</html>
  • 正常情况下的效果展示: image.png

  • 如果 横向滚动条 和 竖向滚动条 都存在,可以会出现以下情况:

    • 如果 横向竖向 的滚动条 都存在必须设置宽度image.png