【CSS】动态修改浏览器滚动条宽度

完整源码

css 复制代码
.container {
	  overflow: auto;
	  scrollbar-color: auto !important;
	  
	  &::-webkit-scrollbar {
	      background-color: transparent;
	      border-radius: 6px
	  }
	
	  &::-webkit-scrollbar:vertical {
	      width: 12px;
	      height: 8px
	  }
	
	  &::-webkit-scrollbar:horizontal {
	      width: 8px;
	      height: 12px
	  }
	
	  &::-webkit-scrollbar-thumb {
	      border-radius: 6px;
	      border: 4px solid transparent;
	      background-color: #ccc;
	      background-clip: content-box
	  }
}

在线效果演示

欢迎 Star 👏🏻 github 地址

原理分析

✅ 自定义 WebKit 滚动条(Chrome/Safari)

css 复制代码
&::-webkit-scrollbar {
  background-color: transparent;
  border-radius: 6px;
}
  • 设置滚动条背景为透明。
  • 添加圆角(但这对整个滚动条轨道的圆角支持较有限)。
css 复制代码
&::-webkit-scrollbar:vertical {
  width: 12px;
  height: 8px;
}
  • 垂直滚动条宽度为 12px。
  • height 对垂直滚动条其实无效,写了也不会生效。
css 复制代码
&::-webkit-scrollbar:horizontal {
  width: 8px;
  height: 12px;
}
  • 水平滚动条高度为 12px。
  • width 对水平滚动条其实无效,写了也不会生效。

⚠️ 注意:width 和 height 实际只有一个维度起作用,另一个是冗余的。

✅ 滚动条滑块(thumb)样式

css 复制代码
&::-webkit-scrollbar-thumb {
  border-radius: 6px;
  border: 4px solid transparent;
  background-color: #ccc;
  background-clip: content-box;
}
  • border-radius: 6px:让滑块圆角化。
  • border: 4px solid transparent:滑块周围加上透明边框。
  • background-color: #ccc:滑块主体颜色为浅灰色。
  • background-clip: content-box:让背景颜色只应用于实际内容区域(不覆盖透明边框),形成"内缩"效果,让滑块看起来更细。

在线效果演示

欢迎 Star 👏🏻 github 地址

相关推荐
0思必得04 小时前
[Web自动化] 开发者工具性能(Performance)面板
运维·前端·自动化·web自动化·开发者工具
心灵的制造商4 小时前
el-tree左侧新增类别和删除类别实例代码
前端·javascript·vue.js
爱吃无爪鱼4 小时前
01-前端开发快速入门路线图
javascript·css·vue.js·typescript·前端框架·npm·node.js
冴羽4 小时前
不知道怎么写 Nano Banana Pro 提示词?分享你一个结构化示例,复刻任意图片
前端·人工智能·aigc
IT_陈寒4 小时前
JavaScript 性能优化:7个 V8 引擎隐藏技巧让你的代码提速200%
前端·人工智能·后端
脾气有点小暴4 小时前
uniapp通用单张图片上传组件
前端·javascript·vue.js·uni-app·uniapp
小菜今天没吃饱5 小时前
DVWA-XSS(stored)
前端·网络安全·xss·dvwa
云飞云共享云桌面5 小时前
研发部门使用SolidWorks,三维设计云桌面应该怎么选?
运维·服务器·前端·网络·自动化·电脑
老华带你飞5 小时前
茶叶商城|基于SprinBoot+vue的茶叶商城系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot
烛阴5 小时前
不只是Public与Private:C#访问修饰符全方位解读
前端·c#