Sass @if Statements
The @if
statement in Sass controllers whether or not it block gets evaluated, which include emitting any CSS that might be inside. The @if
includes an expression, which return true
or false
. If the expression is true
, the block is evaluated.
The @else
statement can following an @if
statement. The @else
block will evaluate if the @if
expression is false
.
The @else if
statement can be used when more than one condition needs to be tested. The @else if
block is evaluated only if the preceding @if
’s expression returns false
and the @else if
’s expression returns true
.
@mixin breakpoint ($size) {
@if $size == 'medium' {
@media screen and (min-width: 640px) {
@content;
}
} @else if $size == 'large' {
@media screen and (min-width: 1024px) {
@content;
}
} @else if $size == 'xlarge' {
@media screen and (min-width: 1200px) {
@content;
}
} @else {
@error "Unknown size #{$size}."
}
}
main {
display: grid;
grid-gap: 5px;
grid-template-columns: 1fr;
@include breakpoint('medium') {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
@include breakpoint('large') {
display: grid;
grid-template-columns: 200px 1fr 1fr 200px;
}
@include breakpoint('xlarge') {
display: grid;
grid-template-columns: 200px repeat(4, 1fr) 200px;
}
}