SCSS @mixin编译报错:声明只能在样式规则内使用
解决SCSS @mixin编译错误:Declarations may only be used within style rules
这个错误的核心原因是你直接在全局/根作用域调用了这个flexbox mixin,而非将其包含在某个CSS选择器的样式块内部。
SCSS的语法规则要求:所有样式声明(比如display: flex这类属性定义)必须嵌套在选择器(类、ID、标签选择器等)的大括号中,直接在根作用域输出这些声明是不允许的。
错误示例(触发报错)
// 直接在根作用域调用mixin,不符合语法 @include flexbox();
正确示例
把mixin的调用放在选择器内部即可:
// 基础调用 .flex-container { @include flexbox(); } // 自定义参数调用 .flex-row-card { @include flexbox(flex-start, center, row, nowrap); }
如果之前使用正常突然报错,大概率是你不小心把mixin的调用位置移到了根作用域,检查一下调用代码的位置就能解决。
内容的提问来源于stack exchange,提问作者Sara
相关产品推荐
相关产品推荐

