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

相关推荐
文心快码BaiduComate2 分钟前
双十一将至,用Rules玩转电商场景提效
前端·人工智能·后端
用户18729422508393 分钟前
告别函数的“两面派”人生:深度剖析箭头函数如何一劳永逸地解决 ‘this’ 的二义性
javascript
拉不动的猪4 分钟前
关于scoped样式隔离原理和失效情况&&常见样式隔离方案
前端·javascript·面试
摇滚侠5 分钟前
Vue 项目实战《尚医通》,医院详情菜单与子路由,笔记17
前端·vue.js·笔记
有来技术7 分钟前
vite-plugin-vue-mcp:在 Vue 3 + Vite 中启用 MCP,让 AI 理解并调试你的应用
前端·vue.js·人工智能
fruge11 分钟前
前端本地存储进阶:IndexedDB 封装与离线应用开发
前端
忍者扔飞镖18 分钟前
欧服加载太慢了,咋整
前端·性能优化
鹏北海28 分钟前
Vue 3 超强二维码识别:多区域/多尺度扫描 + 高级图像处理
前端·javascript·vue.js
Jack莱杰28 分钟前
Math.js封装工具库(解决前端因为浮点数导致计算错误)
javascript
Android疑难杂症30 分钟前
一文讲清鸿蒙网络开发
前端·javascript·harmonyos