SASS如何将变量设置为等于零?

ass CSS

十三小哥

2020-03-20

我正在尝试创建一个等于零的变量。我尝试了以下方法。

$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 no”。我以为可能是空的。但这似乎并非如此。

第2503篇《SASS如何将变量设置为等于零?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
2020.03.20

将变量设置为“ false”

$false: false;

宝儿理查德 2020.03.20

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上的示例

Stafan 2020.03.20

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

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

@include myMixin(false, $myOtherVariable);

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android