You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义Vuetify v-data-table的滚动条样式?

刚好我之前做过类似的定制,Vuetify的v-data-table滚动条样式其实不难改——核心是找到它的滚动容器,然后用CSS定制原生滚动条就行,毕竟组件里的滚动条本质还是浏览器原生的,只是套在了组件的容器里。下面是具体的操作步骤:

第一步:定位滚动容器

v-data-table的滚动区域是被.v-data-table__wrapper这个类包裹的,所有滚动条样式都要针对这个容器来写。

第二步:定制WebKit内核浏览器(Chrome、Edge、Safari等)的滚动条

这是主流浏览器的适配方案,用WebKit的伪元素来精细控制滚动条的各个部分:

/* 设置滚动条整体的宽/高度 */
.v-data-table__wrapper::-webkit-scrollbar {
  width: 8px; /* 纵向滚动条宽度 */
  height: 8px; /* 横向滚动条高度 */
}

/* 滚动条轨道(背景部分)的样式 */
.v-data-table__wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px; /* 给轨道加圆角 */
}

/* 滚动条滑块(可拖动的部分)的样式 */
.v-data-table__wrapper::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px; /* 给滑块加圆角 */
}

/* 滑块hover时的状态 */
.v-data-table__wrapper::-webkit-scrollbar-thumb:hover {
  background: #555; /* 加深颜色 */
}

第三步:兼容Firefox浏览器

Firefox有自己的专属滚动条属性,不用伪元素,直接在容器上设置即可:

.v-data-table__wrapper {
  scrollbar-width: thin; /* 可选值:auto(默认)| thin(窄)| none(隐藏) */
  scrollbar-color: #888 #f1f1f1; /* 顺序是:滑块颜色 轨道颜色 */
}

重要提醒:如果用了Scoped样式(Vue单文件组件)

如果你在Vue组件里写的是<style scoped>,必须用深度选择器穿透Scoped的样式隔离,否则样式不会生效:

/* Vue 2 可以用 /deep/ 或者 >>> */
/deep/ .v-data-table__wrapper::-webkit-scrollbar {
  width: 8px;
}

/* Vue 3 推荐用 ::v-deep */
::v-deep .v-data-table__wrapper::-webkit-scrollbar {
  width: 8px;
}

自定义示例:柔和圆角风格

如果你想要更贴合现代UI的柔和样式,可以参考这个代码:

::v-deep .v-data-table__wrapper::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::v-deep .v-data-table__wrapper::-webkit-scrollbar-track {
  background: #f8f9fa;
  border-radius: 5px;
}

::v-deep .v-data-table__wrapper::-webkit-scrollbar-thumb {
  background: #e9ecef;
  border-radius: 5px;
}

::v-deep .v-data-table__wrapper::-webkit-scrollbar-thumb:hover {
  background: #adb5bd;
}

/* Firefox兼容 */
::v-deep .v-data-table__wrapper {
  scrollbar-width: thin;
  scrollbar-color: #e9ecef #f8f9fa;
}

你完全可以根据自己的设计需求,调整颜色、宽度、圆角这些参数,最终实现符合需求的滚动条样式。

内容的提问来源于stack exchange,提问作者leon100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 20:52:37