Sass 需要您对SCS的帮助,如果条件<;大于操作>;

Sass 需要您对SCS的帮助,如果条件<;大于操作>;,sass,compass-sass,gulp-sass,scss-mixins,sass-loader,Sass,Compass Sass,Gulp Sass,Scss Mixins,Sass Loader,我在尝试编译以下SASS代码时遇到编译错误: 你能帮我解决这个问题吗 @mixin high { @if (calc(100% * 1.3333 + 0px) > 900px) { min-height: auto !important; } @else { min-height: 100% !important; } } .main-content { .container-fluid { @include high; } } 函

我在尝试编译以下SASS代码时遇到编译错误: 你能帮我解决这个问题吗

@mixin high {
   @if (calc(100% * 1.3333 + 0px) > 900px) {
     min-height: auto !important;
   }
  @else {
    min-height: 100% !important;
  }
}

.main-content {
  .container-fluid {
    @include high;
  }
}
函数
calc()
是一个css函数,将直接在浏览器中执行,而不是在SASS中执行

您可以将此表达式写入sass,但它将被解释为“写入css的代码”,因此css可以在浏览器中执行它,但不能直接在sass中执行它

因此,您出错的原因是:

您尝试在
@if
指令中使用calc()作为函数,用于比较预期结果是否大于某个值。但由于SASS不执行calc(),它理解这是一个不允许的操作

解释示例:

// SASS
   border-radius: calc(1px + 1px);

// --> will become in css
  border-radius: calc(1px + 1px);

// but not
   border-radius: 2px;
见: