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

相关推荐
weixin1997010801613 分钟前
【性能提升300%】仿1688首页的Webpack优化全记录
前端·webpack·node.js
冰暮流星23 分钟前
javascript之数组
java·前端·javascript
晚霞的不甘1 小时前
Flutter for OpenHarmony天气卡片应用:用枚举与动画打造沉浸式多城市天气浏览体验
前端·flutter·云原生·前端框架
xkxnq1 小时前
第五阶段:Vue3核心深度深挖(第74天)(Vue3计算属性进阶)
前端·javascript·vue.js
三小河1 小时前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端
Hilaku1 小时前
不要在简历上写精通 Vue3?来自面试官的真实劝退
前端·javascript·vue.js
三小河1 小时前
前端视角详解 Agent Skill
前端·javascript·后端
Aniugel2 小时前
单点登录(SSO)系统
前端
颜酱2 小时前
二叉树遍历思维实战
javascript·后端·算法
鹏多多2 小时前
移动端H5项目,还需要react-fastclick解决300ms点击延迟吗?
前端·javascript·react.js