Scrollbar-color 现已正式进入 Baseline Newly Available 阶段,这标志着它已成为一项跨主流浏览器通用的标准能力,可以放心地应用于生产环境。
在前端开发的世界里,有一个长期以来被大家吐槽却又不得不忍受的存在——滚动条。
它无处不在,却几乎无法优雅地定制。
想改颜色?只能写一堆带有 ::-webkit-scrollbar 私有前缀的代码。
想跨浏览器保持一致?基本没戏。
但现在,这个问题终于迎来了曙光。

scrollbar-color 进入 Baseline Newly Available,意味着它已经成为跨主流浏览器可用的标准能力,可以放心用于生产环境。
今天,我们就来系统地聊聊它。
scrollbar-color 是什么?
scrollbar-color 是 CSS Scrollbars 规范中的一个属性,用于设定:
滚动条滑块(thumb)的颜色与滚动条轨道(track)的颜色。其语法非常简单:
scrollbar-color:
示例:
html { scrollbar-color: rebeccapurple green; }
就是这么直接。
scrollbar-color 成为标准
过去我们只能依赖带有私有前缀的属性:
::-webkit-scrollbar::-webkit-scrollbar-thumb::-webkit-scrollbar-track
但这些问题一直存在:
✘ 非标准规范✘ Firefox 等浏览器不支持
✘ 未来兼容性不可控
✘ 代码冗长复杂
而现在:
scrollbar-colorscrollbar-width
已正式成为 W3C 标准方案。

这意味着:
✔ Chrome 已全面支持✔ Firefox 已全面支持
✔ Safari 已全面支持
✔ Edge 已全面支持
✔ 已正式进入 Baseline
这在前端标准演进中,是一次真正的“统一”。
实际使用示例
全局设置滚动条配色:
:root { scrollbar-color: #1677ff #f0f2f5; }
适合品牌统一的设计系统。
只影响某个特定容器:
.container { overflow: auto; scrollbar-color: #888 #eee; }
这种方式非常适合:
SaaS 后台系统中的数据表格左侧导航菜单栏
可滚动的内容面板
使用系统默认样式:
scrollbar-color: auto;
如果你不想过多干预系统原生风格,可以直接使用 auto 值。
配合 scrollbar-width 使用更佳
除了颜色,你还可以控制滚动条的宽度:
* { scrollbar-width: thin; scrollbar-color: #1677ff #f0f2f5; }
可选值包括:
auto(自动)thin(细)
none(无滚动条)
如果你的项目属于数据密集型后台系统,thin 值会显著提升视觉精致度。
是否还需要写 ::-webkit-scrollbar?
如果你的用户群体中仍包含较老版本的 Chrome 浏览器,建议采用双保险写法:
/* 标准写法 */ * { scrollbar-color: #1677ff #f0f2f5; } /* 兼容旧浏览器 */ *::-webkit-scrollbar-thumb { background: #1677ff; } *::-webkit-scrollbar-track { background: #f0f2f5; }
但在未来几年,标准写法将成为绝对主流。
这件事的意义,其实不止是滚动条
scrollbar-color 进入 Baseline,其实传递了一个更重要的信号:浏览器正在逐步“标准化 UI 细节控制能力”。
过去很多 UI 微调都只能依赖私有实现。
而现在,我们看到了一系列标准化能力:
CSS ScrollbarsAccent Color
Color-scheme
Container Queries
这些能力正在成为稳定标准。
前端工程正变得对细节“更可控”。
写在最后
现在,scrollbar-color 已经成为:
W3C 标准规范的一部分主流浏览器均已原生支持
已正式进入 Baseline 阶段
可以安全用于生产环境
它解决的并不是一个巨大的功能问题,而是一个长期困扰前端工程师的“细节控制权”问题。
只有当 UI 的每个细节都可控时,设计系统才能真正形成闭环。
详细 API 文档可以查阅 CSS 标准文档。
