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

相关推荐
杜子不疼.7 小时前
【Linux】教你在 Linux 上搭建 Web 服务器,步骤清晰无门槛
linux·服务器·前端
belldeep7 小时前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask
凉辰8 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
echoVic8 小时前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
程序员Agions8 小时前
useMemo、useCallback、React.memo,可能真的要删了
前端·react.js
echoVic8 小时前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制
java·javascript
David凉宸8 小时前
Vue 3 + TS + Vite + Pinia vs Vue 2 + JS + Webpack + Vuex:对比分析
javascript·vue.js·webpack
滕青山8 小时前
Vue项目BMI计算器技术实现
前端·vue.js
子兮曰8 小时前
深入浏览器指纹:Canvas、WebGL、Audio是如何暴露你的身份的?
前端·浏览器·canvas
月亮补丁8 小时前
AntiGravity只能生成 1:1 图片?一招破解尺寸限制
前端