SCSSで条件分岐を使用
SCSSで条件分岐を使用する方法について説明します。
SCSS(Sassy CSS)は、CSSの拡張機能を提供するCSSプリプロセッサです。
条件分岐は、SCSSでスタイルを動的に制御するための便利な機能です。
条件分岐の基本
SCSSでは、@ifディレクティブを使って条件分岐を実装できます。
これにより、特定の条件に基づいてスタイルを適用することができます。
基本的な構文
@if 条件 { // 条件が真の場合に適用されるスタイル }
例:変数を使用した条件分岐
例えば、テーマを切り替える場合に、変数を使って条件分岐を行うことができます。
$theme: dark; body { @if $theme == light { background-color: #fff; color: #000; } @else if $theme == dark { background-color: #000; color: #fff; } }
このコードでは、$theme変数の値によって、body要素の背景色と文字色が変わります。
例:ミックスインと条件分岐
ミックスインと条件分岐を組み合わせて、複雑なスタイルの条件分岐を実現することもできます。
@mixin button-style($type) { @if $type == primary { background-color: blue; color: white; } @else if $type == secondary { background-color: gray; color: black; } } button { @include button-style(primary); }
この例では、button-styleミックスインにprimaryという引数を渡して、ボタンのスタイルを設定しています。
例:ネストされた条件分岐
条件分岐はネストして使用することもできます。
これにより、複雑なスタイルの条件分岐が可能になります。
$device: mobile; .container { @if $device == mobile { padding: 10px; @if $device == tablet { padding: 20px; } } @else { padding: 30px; } }
この例では、$device変数に基づいて、containerクラスのpaddingが異なります。
さらに、mobileの場合にはtabletもチェックして追加のスタイルが適用されます。
まとめ
SCSSでの条件分岐は、@ifディレクティブを用いることで、動的にスタイルを制御する強力な機能です。
変数やミックスインを利用して、複雑な条件分岐を簡潔に記述することができ、スタイルのメンテナンスや拡張が容易になります。