@if

@ifは、条件分岐でデザインの結果を変更することができます。

@ifの説明図
比較演算子意味
==等価
!=否定
<小なり
<=以下
>大なり
>=以上
論理演算子意味
andかつ
orまたは
not否定
制御構文
記法

@if 条件1 {
 結果
}
@else if 条件2 {
 結果
}
@else {
 結果
}

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="./css/main.css" />
    <title>@if</title>
  </head>

  <body>
    <div class="page1">page1</div>
    <div class="page2">page2</div>
    <div class="page3">page3</div>
  </body>
</html>

以下のcssとscssは同一デザイン記述になります

Sass
$type1: "top-page";
$type2: "side-page";
$type3: "sub-page";

.page1 {
  @if $type1 == "top-page" {
    background-color: #bfdd9e;
  } @else if ($type1 == "side-page" or $type1 == "end-page") {
    background-color: #56c1db;
  } @else {
    background-color: #f4af2b;
  }
}

.page2 {
  @if $type2 == "top-page" {
    background-color: #bfdd9e;
  } @else if ($type2 == "side-page" or $type2 == "end-page") {
    background-color: #56c1db;
  } @else {
    background-color: #f4af2b;
  }
}

.page3 {
  @if $type3 == "top-page" {
    background-color: #bfdd9e;
  } @else if ($type3 == "side-page" or $type3 == "end-page") {
    background-color: #56c1db;
  } @else {
    background-color: #f4af2b;
  }
}
css
.page1 {
  background-color: #bfdd9e;
}

.page2 {
  background-color: #56c1db;
}

.page3 {
  background-color: #f4af2b;
}
出力結果
box1
box2
box3