• 作者:老汪软件技巧
  • 发表时间:2024-09-28 11:02
  • 浏览量:

最近做业务被批滚动条太难看,由于一些东西是通过v-html插入的,所以还无法用UI框架里的滚动条组件,所以修改原生滚动条是唯一的选择。Scrollbar.app进入了我的视线,不过是英文,而且功能并不完善,所以参照其代码自己做了一个(顺便吐槽一句,这个作者用vue3但是vue2的语法)

原生滚动条的CSS伪类

做这个功能首先就得了解清楚对应的CSS,由于历史原因滚动条的CSS标准直到最近才定下来,而之前基于Webkit内核的浏览器都是用::-webkit-scrollbar伪类,根据MDN给出的兼容性表来看只要能撇去小部分的浏览器那只狐狸,在生产环境完全可以使用。

所以,滚动条CSS伪类主要有以下几种:

原生滚动条标准CSS

最近滚动条样式定下来了,不过功能相对少,而且浏览器要求版本较高。

scrollbar-color

滚动条颜色,只能定滑块和轨道。

scrollbar-color: <滑块颜色> <轨道颜色>;

兼容性看下图

_滚动条怎么实现_滚动编辑工具怎么用

scrollbar-width

滚动条宽度,只能设置默认自动和细条或不显示

scrollbar-width: auto;
scrollbar-width: thin;
scrollbar-width: none;

兼容性看下图

成果

于是,为了方便我做了这个编辑器,除了Scrollbar.app给出的功能外,添加了自定义选择器名称、交汇处颜色、滚动条宽度标准CSS以及默认自动跟随系统主题功能。

开源地址,欢迎Issue和PR:/lvzhenbo/sc…

PS:如果这个小项目对你有用,请给个小小的星星吧。