Sassで「@if文の使い方」と条件分岐は「どういう時に使う」のか?


Sassでは条件分岐が使えると聞いたけど、どうやって使うのか知りたい。あと、条件分岐を「どういう時に使うのか?」も解説してほしい

なるほど、Sassの条件分岐はなんとなくイメージできるが、実際に条件分岐を使うイメージがわかない人も多いだろう。
今回はSassで使える「条件分岐」の使い方と、その使い所を具体例を使って、解説していこう!
目次
条件分岐とは
まず最初に「条件分岐ってなんだ?」ていう人に、条件分岐を簡単に解説するぞ。
条件分岐とは
- 「もし○○だったら」→「Aを表示」
- 「もしくは□□だったら」→「Bを表示」
- 「それ以外は」→「Cを表示」
といった形で「指定した条件に当てはまる場合」に「どうするか?」を指定する形式を指し、「条件分岐」を利用すれば、効率よくCSSのコードを書くことができる、便利な機能なのだ。
@if文を使った条件分岐の基本形
Sassで条件分岐を使う時は@if
の後に「条件」を記述し、{}
内にスタイルを記述する。
まとめると条件分岐の基本形はこんな形だ。
@if 条件{
適用したいプロパティ: 値
}
さらに「追加で別の条件を足す場合」は@else if
を、これまでの条件に合わない場合つまり「それ以外の場合」の指定は@else
使う。
@if 条件1{
条件1の場合に適用したいプロパティ: 値;
}@else if 条件2{
条件2の場合に適用したいプロパティ: 値;
}@else{
上記以外の場合に適用したいプロパティ: 値;
}
条件分岐の具体例
まずはわかりやすい例を書いてみよう。こちらは汎用的なスタイルを「コンパイルするか、しないか」という書き方となる。
//汎用スタイルを出力するかどうか?
$useStyle: true;
$marginL:100px;
$marginM:50px;
$marginS:20px;
@if $useStyle{
.mtL{
margin-top:$marginL;
}
.mtM{
margin-top:$marginM;
}
.mtS{
margin-top:$marginS;
}
}
.mtL{
margin-top: 100px;
}
.mtM{
margin-top: 50px;
}
.mtS{
margin-top: 20px;
}
$useStyle: true;
となっているので、コンパイルすると、CSS@if内のスタイルが出力されてる。
反対に$useStyle: false;
とするとコンパイルした時に、@if内のスタイルはCSSが出力されない。
true、falseとは
true
やfalse
という表記はプログラミングで頻繁に出てくる単語。「boolean(ブーリアン:真偽値)」と呼ばれて「true=真」「false=偽」という扱いになる。
if文で使う場合「true=真」の場合は条件に合致する事になり、「false=偽」の場合は、条件に合致しない事になる。
条件分岐をミックスインとセットで使う例
条件分岐をミックスインとセットで使う事が多いので、ミックスインとセットで使った例を作ってみた。
例えば、ボックスの横幅に応じて、箱の色を買えるテンプレートを作る場合。
$width: 1200px
@mixin box{
width: $width;
border: 1px solid #ccc;
@if $width > 1000px{
background-color: #f90;
}@else{
background-color: #000;
}
height: 100px;
}
.outer{
@include box();
}
.outer{
width: 1200px;
border: 1px solid #ccc;
background-color: #f90;
height: 100px;
}
この例の場合、「box」というミックスインの引数に$width: 1200px
が入っている。
条件分岐の部分は@if $width > 1000px
となっており、ボックスの幅が1000 pxより大きい場合はbackground-color: #f90;
それ以外はbackground-color: #000;
という指定で、ボックスの色を幅に応じて変えるような指示だ。
条件分岐は「どういう時に使う」のか?
上記の例を見て疑問に思わないだろうか?
「なんでわざわざこんな面倒な記述をするのだろうか?」
そう、基本的に「決まったデザインで自分ひとりで1度だけCSSコーディングをする場合」は、わざわざ「条件分岐」を使ってこんな面倒な指定をする事はあまりない。
つまり条件分岐を使うのは…
「CSSフレームワークなどを作る際」に、あらかじめ「スタイルのバリエーションを用意する」場合など
で使う記述と言えるだ。
フロントエンドスキルをもっと早く・簡単にマスターしたい方へ!
JavaScriptやCSS・Sassなどフロントエンド学習は、初心者が「独学」で完全マスターするには半年以上かかり、相当根気よくやらないと挫折してしまうか、ライバルに出遅れてしまう…。
短期間でフロントエンド・WEBデザインをマスターするには?
私の経験だが、手軽なオンラインスクールを利用した方が圧倒的に早かった。独学だと「何からどこまで勉強すれば良いかわからない」ものを、これだけ学習すればOKというポイントをおさえた教科書で学習しながら、わからない点を質問し放題なので、多少の出費は必要だが2ヶ月程度でサクッと学べたので逆に経済的だった!(実際に私がオンラインスクールを受講して体感)
では「オススメはどのスクール?」とよく聞かれるのだが、たった1つのおすすめスクールがある訳でなく、その人によって最適なスクールが違う。
- 学習スタイルが自分に合っているか?
- 低価格でコスパの良い学習料金か?
- 講師に質問しやすい環境か?
- 無料体験できるスクールか?
数あるスクールの中から、実際に受講してわかった事や現役プロならでは目線で厳選・比較したこちらの記事「現役プロ比較!短期 「WEBデザインスクール12校」おすすめランキング!」を参考に自分に合ったスクールを探そう↓
まとめ
Sassの条件分岐は、初心者の方は普段あまり使わない人も多いかもしれない。
しかし自作のフレームワークを作って、作業の効率化を図りたい時などに使えたり、他のフレームワークを読み解く際にも必要な知識なので、記述の仕方や使い方をしっかりと確認しておこう!
Sassの基本をもっと学びたい方は、こちらの記事「Sassを基礎から学ぶ」を参考にしておこう。
やはりWEBの学習は「基礎」が一番重要!「時間をかけてしっかり」と基礎を固める事で、実際の仕事の案件の時に「基礎がしっかりしている」と、そこから応用が効いて、たいていの問題は解決するので、不安にならずに済むのだ。
しかし時間をかけて学ぶのが難しい方や、できるだけ速く習得したい方はプログラミングスクールなどを検討するのもありだろう。私も実際にオンラインプログラミングスクールを利用して、プログラミングを習得したのでその良さを実感している。自分にあったスクールを探したい人は、実際に私が使ったスクールをはじめいくつかおすすめのスクールを比較しているので、こちらの記事を参考になるだろう!
スクールは多少の費用がかかるが、その分早く仕事で稼げて元以上のものを得られるメリットも!一度検討してみるのもありだろう。

▶ 初心者の僕でも出来た!おすすめプログラミングスクール比較ベスト3社【体験談】
プログラミングを学びたいけど、プログラミングスクールは星の数ほどあって…。どのスクールがいいか探すの面倒くせーよ…。(…
※当記事の掲載内容は執筆現在の個人の見解・調査によるもので、動作・サービス等を保証するものではありません。最新情報は各公式サイトでご確認頂き、購入・契約・データ作成等はご自身の判断・責任でお願いします。 免責事項
関連記事

Sassの「@mixin(ミックスイン)」の使い方と「引数」の解説

Gulpを使ったイマドキの「SASS環境構築」の手順!

Sassの「@mixinと@extendの違い」と使い分け

Sassで何ができるの?Sassのメリットとは?

Sassの@for、@while、@eachの「ループ処理(繰り返し)」の使い方

Sassの「変数」の定義と参照の基本ルール。
サイト内検索
新着記事
- YouTubeより詳しく!まとめて学べる『WEBデザイン動画講座』
- Figmaの背景切り抜きプラグイン『Remove BG』のAPI Key取得方法と使い方
- WEBデザイン動画講座のご紹介【お得な割引アリ】
- WixでWEBデザイナーが「ポートフォリオサイト」を作ってみた!
- WEBデザインツールの比較!初心者におすすめは?Figma Photoshop Xd Illustrator
- CodeCampGATE(コードキャンプゲート)とは?転職・就職先と評判
- コードキャンプの「Webデザイン・Webデザイン副業コース」を卒業生が解説!
- テックアカデミー「はじめての副業コース」卒業生が内容を解説!
- PHPの独学!挫折しないおすすめ勉強方法!
- 16インチMacbook Proで使える100Wモバイルバッテリー Zendure SuperTankレビュー
- [体験談] CodeCamp(コードキャンプ)で挫折する理由!
- テックアカデミー「受講した感想・評判」学習内容の総まとめ!
- Photoshop 超リアルな商品写真の鏡面反射の作り方
- デイトラの評判は?詳細内容とメリット・デメリットを解説
- CSSだけ超簡単!画像トリミングできる 「object-fit」 の使い方
- コードキャンプ 「無料体験・カウンセリング」を受講してみた!予約方法や内容の体験談
- デジタルハリウッドSTUDIO by LIGの評判
- PhotoshopでWEBデザインする基本の設定とテクニック
- テックアイエス評判は?現役プロがTECH I.S.を徹底調査!
- WEBデザインの練習・勉強をしながら「お金までもらえる」超おすすめの学習方法!
カテゴリー
タグリスト