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

相关推荐
Hello--_--World8 分钟前
VUE:逻辑复用
前端·javascript·vue.js
陶甜也24 分钟前
3D智慧城市:blender建模、骨骼、动画、VUE、threeJs引入渲染,飞行视角,涟漪、人物行走
前端·3d·vue·blender·threejs·模型
患得患失94929 分钟前
【前端websocket】企业级功能清单
前端·websocket·网络协议
落魄江湖行30 分钟前
基础篇四 Nuxt4 全局样式与 CSS 模块
前端·css·typescript·nuxt4
禅思院30 分钟前
前端性能优化:从"术"到"道"的完整修炼指南
前端·架构·前端框架
叫我一声阿雷吧35 分钟前
JS 入门通关手册(43):async/await 原理与异常处理(实战 + 面试,彻底搞懂)
javascript·异常处理·promise·前端面试·async/await·generator·异步编程
架构师老Y2 小时前
003、Python Web框架深度对比:Django vs Flask vs FastAPI
前端·python·django
小陈工4 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao1319 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉9 小时前
Electron桌面应用聊天(续)
前端·javascript·electron