html 滚动条相关开发经验总结

一、自定义滚动条样式

1.1 隐藏滚动条

css 复制代码
::-webkit-scrollbar {
  display: none;
}

全局隐藏滚动条

css 复制代码
* {
  scrollbar-width: none;
}

1.2 自定义滚动条样式

css 复制代码
.box {
   &::-webkit-scrollbar {
      display: inline-block;
      width: 4px;
      height: 10px;
   }
   &::-webkit-scrollbar-thumb {
      background-color: #ccc;
      border-radius: 8px;
   }
   &::-webkit-scrollbar-track {
      width: 6px;
      background: transparent;
   }
}

1.3 局部展示滚动条

假设项目中全局使用了1.1 中的方式隐藏了滚动条,并且设置了 scrollbar-width: none;

如果要想对单独的 box 元素展示滚动条,需要增加 scrollbar-width: unset 重置滚动条的宽度,且scrollbar-width 的值只能是 unset / inherit / auto,不能是 thin;

css 复制代码
.box {
   scrollbar-width: unset; // 重要
   &::-webkit-scrollbar {
      display: inline-block;
      width: 4px;
      height: 10px;
   }
   &::-webkit-scrollbar-thumb {
      background-color: #ccc;
      border-radius: 8px;
   }
   &::-webkit-scrollbar-track {
      width: 6px;
      background: transparent;
   }
}

二、横向滚动和纵向滚动

鼠标滚动只支持纵向滚动,横向滚动需要按住 shift 键,或者使用触控板,或者鼠标拖动横向滚动条来实现。

2.1 实现横向滚动

所以在一个隐藏了滚动条的项目中,如果一个元素仅能横向滚动,且需要使用鼠标能够滚动,需要我们手动实现这个功能。具体可以参考下面这篇文章。

https://blog.csdn.net/qq_17335549/article/details/145785063https://blog.csdn.net/qq_17335549/article/details/145785063

相关推荐
徐小夕5 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
纯爱掌门人6 小时前
干了这么多年前端,聊聊 2026 年我们到底还值不值钱
前端·程序员
houhou6 小时前
Monaco Editor 集成指南:从配置到优化
前端
hunterandroid6 小时前
[Android 从零到一] Custom View 自定义绘制:从 onDraw 到完整交互
前端
李明卫杭州6 小时前
Vue3 v-memo 指令详解:让你的列表渲染性能翻倍 🚀
前端
梨子同志6 小时前
Monorepo
前端
lihaozecq6 小时前
继 Web Coding Agent 后,我做了一个本地优先的桌面 AI Agent
前端·agent
用户298698530147 小时前
在 React 中使用 JavaScript 将 Excel 转换为 SVG
前端·javascript·react.js
CodingSpace7 小时前
ESLint
前端
Csvn7 小时前
异步错误捕获的六大陷阱:await 裹着 try-catch 就一定稳了吗?
前端