35

我正在尝试创建一个等于无的变量。我试过以下..

$false:null;

-和-

$false:" ";

我正在尝试使用它的是这个......

@mixin myMixin($myVariable:"", $myOtherVariable){
    $false:null;
    @if $myVariable == $false {
       //do something
    }
    @if $myVariable != "" {
      //do something else
    }
}

@include myMixin("", $myOtherVariable);

我在这个例子中使用了两个变量,但我计划有两个以上。

基本上我想要做的是可以选择排除变量而不必使用空引号。问题$false: "";在于它仍然需要空引号。所以我想知道 SASS 中是否内置了一些东西来指定“null / or nothing”。我认为它可能是空的。不过好像不是这样的。。

4

3 回答 3

46

nullor falsewill work(null在最新版本的 Sass 中是新的)。两者都适用于您的示例。唯一的优点null是,如果您将其与属性一起使用,它就会消失。

@mixin myMixin($myVariable: false, $myOtherVariable: false){
  @if not $myVariable {
     //do something
  } @else {
    //do something else
  }
}

@include myMixin(false, $myOtherVariable);
于 2012-09-21T01:43:57.127 回答
0

将变量设置为“假”

$false: false;

于 2015-11-11T19:46:02.190 回答
-1

Sass 是用 ruby​​ 编写的,它使用nil而不是null.

@mixin myMixin($myVariable, $myOtherVariable){
  $false: nil;
  @if $myVariable == $false{
     color: inherit;
  } @else {
     color: $myVariable;
  }
}

p {
  @include myMixin(nil, $myOtherVariable);
}

.red {
  @include myMixin(red, $myOtherVariable);
}

jsFiddle 上的示例

于 2012-09-20T22:26:38.520 回答