Reputation: 16157
I am trying to create a variable that is equal to nothing. I have tried the following...
$false:null;
-and-
$false:" ";
What I am trying to use it with is this...
@mixin myMixin($myVariable:"", $myOtherVariable){
$false:null;
@if $myVariable == $false {
//do something
}
@if $myVariable != "" {
//do something else
}
}
@include myMixin("", $myOtherVariable);
I am using two variables for this example, but I plan to have more than two.
Basically what I want to do is have the option to exclude a variable without having to use empty quotes. And the problem with $false: "";
Is that it still expects empty quotes. So I am wondering if there is something built into SASS to designate "null / or nothing". I thought it might be null. But that doesn't seem to be the case..
Upvotes: 38
Views: 30955
Reputation: 14010
null
or false
will work (null
is new in the latest version of Sass). Both will work for your example. The only advantage of null
is that it disappears if you use it with a property.
@mixin myMixin($myVariable: false, $myOtherVariable: false){
@if not $myVariable {
//do something
} @else {
//do something else
}
}
@include myMixin(false, $myOtherVariable);
Upvotes: 47
Reputation: 9325
Sass is written in ruby which uses nil
instead of 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);
}
Upvotes: 0