Function 在Sass中,如何为我创建的if语句设置变量?

Function 在Sass中,如何为我创建的if语句设置变量?,function,variables,sass,Function,Variables,Sass,下面是我正在使用的函数: @function set-hover-color($color) { @if true { @return darken($color, 10%); } @else { @return lighten($color, 10%) } } 我希望能够将其设置为true of false,如下所示: $color: false; 这可能就是你要找的注意:我将颜色变量重命名为“变暗”,因为我认为它在这种情况下更有意义 $darken : tru

下面是我正在使用的函数:

@function set-hover-color($color) {
  @if true {
    @return darken($color, 10%);
  } @else {
    @return lighten($color, 10%)
  }
}
我希望能够将其设置为true of false,如下所示:

$color: false;

这可能就是你要找的注意:我将颜色变量重命名为“变暗”,因为我认为它在这种情况下更有意义

$darken : true;

@function set-hover-color($color) {
  @if $darken {
     @return darken($color, 10%);
  } @else {
     @return lighten($color, 10%)
  }
};
另一种选择是将该变量作为第二个参数传入。例如:

@function set-hover-color($color,$darken) {
  @if $darken {
     @return darken($color, 10%);
  } @else {
     @return lighten($color, 10%)
  }
};
用法:

$color : #ddd;

#example{

   color : $color,

   &:hover{

     color : set-hover-color($color,true);
   }
}

为什么希望颜色变量的值为false?那有什么用呢?这个问题毫无意义。嘿@JakeParis谢谢你的评论。我想用一个变量将函数设置为true或false。将函数设置为true或false(无论这意味着什么)可以实现什么?你似乎了解如何使用变量以及如何将变量传递给函数,所以不清楚实际的问题是什么。嘿@cimmanon,谢谢你回复我。这对我来说很难解释,因为我是sass新手。我想将函数与配置文件分开。所以我不想在不编辑函数的情况下将函数更改为true或false。非常感谢。这正是我要找的。