@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