SCSS编译报错Invalid CSS after 调用math模块做除法出错如何解决
SASS math模块除法编译报错解决方案
- 首先检查math模块导入语法是否正确:必须在SCSS文件最顶部添加
@use "sass:math";声明,不能放在其他规则、@import语句之后,也不能嵌套在样式块中,且不支持用@import导入内置模块。 - 该报错绝大多数概率来自Live Sass Compiler默认编译器版本过旧:官方原版Live Sass Compiler内置的是已停止维护的libsass,不支持SASS内置模块系统,会把
math.div()识别为无效CSS。修复方案二选一:- 全局安装Dart Sass:执行
npm install -g sass,之后在VSCode扩展设置中找到Live Sass Compiler的Sass: Compiler Path配置项,填入全局安装的sass执行路径即可 - 直接替换VSCode插件为支持Dart Sass的分支版本「Live Sass Compiler (Dart Sass)」,无需额外配置即可支持新SASS语法
- 全局安装Dart Sass:执行
- 检查除法调用语法是否正确:必须使用
math.div(被除数, 除数)的格式,比如width: math.div(100vw, 3);,如果存在拼写错误、少写参数、直接用/做除法的旧写法,都会触发无效CSS报错。
旧版本SASS中使用
/符号做除法的语法已被废弃,建议全量替换为math.div()写法,避免后续跨环境编译兼容问题。
内容的提问来源于stack exchange,提问作者Luis_A
相关产品推荐
相关产品推荐

