显示错误 - 在SASS中扩展类时无法扩展

时间:2014-10-23 08:02:18

标签: css sass compass

.class{
  color:#333;
}

.ex-class{
 @extend .class;
}

显示错误:

  

“。ex-class”未能扩展“.class”
  找不到选择器“.class”   这将是Sass的未来版本中的错误   如果扩展应该能够失败,请使用“@extend .class!optional”


是什么让我遇到麻烦,Sass在我的系统上的所有其他git Repos上编译得很好,我尝试通过更改Sass版本,我的团队成员可以正常使用这个Sass和相同的版本。

2 个答案:

答案 0 :(得分:5)

Sass 3.2.0(changelog)中引入了

@extend警告:

  

任何与文档中的任何选择器都不匹配的@extend现在将打印警告。这些警告将在未来版本的Sass中出现错误。这将有助于防止打字错误,并使更清楚的样式无法正常工作。

在Sass 3.3.0中,它停止警告用户,只是抛出一个错误:

  

当使用无效的@extend时,Sass将抛出错误。可选标志可用于避免单个@extend的此行为。

请注意@extend在Sass历史(3.1.13,3.2.5,3.2.6,3.2.8和3.2.9)中受到许多错误修复,特别是当它&#39时; s用于媒体查询。我建议你和你的团队至少使用Sass v3.3.0。

如果你的代码是"如果它是",你不应该有任何错误/警告。如果您正在使用@import,或者该块完全/部分写入媒体查询,那么可能会出现问题。

答案 1 :(得分:0)

我遇到了同样的问题:

document [name="variable"]" failed to @extend "%variableSCSS".
The selector "%variableSCSS" was not found.
Use "@extend %variableSCSS !optional" if the extend should be able to fail.
_styles.scss

问题已在_styles.scss中使用@import variableSCSS.scss解决

_variableSCSS.scss 是包含“%variableSCSS {...}”的文档。因此,请检查您的 @imports 是否在您使用它们的类上正确调用。