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

使用Vuetify3 Sass阴影变量时遇未定义错误,求解决

问题解决:调用Vuetify阴影变量时的错误修复

错误原因

你把Sass映射(Map)当成函数来调用了。$shadow-key-umbra、$shadow-key-penumbra、$shadow-key-ambient都是键值对结构的Map,键是阴影层级(0-24),值是对应的阴影样式,不能用$shadow-key-umbra(8)这种函数调用的语法。

正确写法

方法1:直接通过Map取值

使用Sass的map-get函数提取对应层级的阴影值:

@use "vuetify/lib/styles/settings/_elevation" as elevation;

box-shadow: 
  map-get(elevation.$shadow-key-umbra, 8),
  map-get(elevation.$shadow-key-penumbra, 8),
  map-get(elevation.$shadow-key-ambient, 8);

方法2:用Vuetify封装的工具函数(更简洁)

Vuetify已经提供了现成的elevation函数来生成完整阴影,直接调用即可:

@use "vuetify/lib/styles/functions/elevation" as *;

box-shadow: elevation(8);

方法3:使用Vuetify的Elevation Mixin

如果需要一次性应用所有阴影相关样式(包括过渡效果等),可以用官方的mixin:

@use "vuetify/lib/styles/mixins/elevation" as *;

@include v-elevation(8);

补充说明

三种方法都能实现和Vuetify原生下拉选择器完全一致的阴影效果,其中方法2和3更贴合Vuetify的设计体系,后续如果框架更新阴影参数,你的代码也能自动同步,不用手动调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:57:52