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

Vuetify 3多级菜单中v-list-item的字体大小样式调整问题

解决Vuetify 3多级菜单菜单项字体大小无法修改的问题

在Vue 3 + Vuetify 3的v-navigation-drawer中使用v-list-group实现多级菜单时,直接给v-list-item添加自定义类修改字体大小无效,核心原因是Vuetify的内置样式直接作用于v-list-item内部的.v-list-item-title元素,自定义类的样式优先级不足以覆盖内置样式。

以下是几种可行的解决方法:

方法1:使用Vue深度选择器(推荐用于scoped样式)

如果你的样式是scoped的,需要用:deep()穿透样式隔离,精准选中内部的标题元素:

<style scoped>
:deep(.smaller-font .v-list-item-title) {
  font-size: 0.8rem; /* 替换为你需要的字体大小 */
}
</style>

方法2:利用Vuetify内置CSS变量(最优雅的方式)

Vuetify为组件提供了可自定义的CSS变量,直接修改--v-list-item-title-text-size变量即可:

<style scoped>
.smaller-font {
  --v-list-item-title-text-size: 0.8rem;
}
</style>

这种方式不需要使用!important,完全符合Vuetify的设计规范。

方法3:全局样式(需注意样式污染)

如果不使用scoped样式,可以直接在全局样式中定义:

.smaller-font .v-list-item-title {
  font-size: 0.8rem;
}

建议给v-navigation-drawer添加一个唯一类名,比如custom-drawer,来限定样式作用范围,避免影响其他组件:

.custom-drawer .smaller-font .v-list-item-title {
  font-size: 0.8rem;
}

另外,你的代码中存在一处语法错误:v-list的@update:opened属性值缺少闭合引号和括号,正确写法应为:

@update:opened="opened = $event.slice(-1)"

内容的提问来源于stack exchange,提问作者payetools-steve

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 22:17:45