Sass 从模块扩展类

  • 本文关键字:扩展 模块 Sass sass
  • 更新时间 :
  • 英文 :


使用sass中的新模块系统(使用@use而不是@import(,如何在一个文件中定义一个类,并在另一个@extend文件中使用它?

文件颜色.scss

.element {
background-color: blue;
}

主文件

@use "./colors.scss" as colors;
body {
@extend .element;
}

这将给出以下错误:

"body"未能@extend".element"。 找不到选择器 ".element"。 如果扩展应该能够失败,请使用"@extend .element !optional"。

例: https://stackblitz.com/edit/angular-tufq7f?file=src%2Fstyles.scss

我怎样才能告诉sass从colors.scss获取它?

事实证明,这里有几个不同的问题。首先是 stacblitz 示例使用的是旧版本的 sass witch 没有模块支持。另一个是没有办法从女巫 sass 模块指定扩展 css 类。正确的解决方案是我在问题中写的:

@extend .element;

以下方法有效吗?

@use "./colors.scss" as colors;
body {
@extend colors.element;
}

(模块作为命名空间导入,因此您必须按名称"使用"模块"( https://sass-lang.com/documentation/at-rules/use#choosing-a-namespace

最新更新