
CSS変数とSCSS変数は、どちらもスタイルの再利用性を高め、保守性を向上させるための便利な仕組みですが、それぞれに得意分野があります。本記事では、両者の違いと適切な使い分け方について、具体例とともに徹底解説します。効率的なスタイル設計のヒントを掴みましょう。
目次
CSS変数とSCSS変数の違いとは?
まずは両者の基本的な違いを理解しておきましょう。
項目 | CSS変数(--) | SCSS変数($) |
---|---|---|
定義方法 | --main-color: #000; | $main-color: #000; |
使用タイミング | 実行時(ブラウザが解釈) | ビルド時(コンパイル時に展開) |
JavaScript連携 | 可能(動的変更が可能) | 不可(静的にビルドされる) |
メディアクエリ内 | 上書き可能 | メディアクエリの内外で別定義が必要 |
利用シーン | ユーザーインタラクション・テーマ切替等 | 設計時のトークン管理・共通化 |
CSS変数の基本的な使い方と活用例
CSS変数はブラウザが実行時に解釈し、テーマ切り替えやレスポンシブ対応に強みを発揮します。
:root {
--main-color: #007bff;
--font-size: 16px;
}
body {
color: var(--main-color);
font-size: var(--font-size);
}
テーマ切り替えの例:
[data-theme="dark"] {
--main-color: #ffffff;
--background-color: #000000;
}
body {
color: var(--main-color);
background-color: var(--background-color);
}
// JavaScriptでテーマを切り替える
document.documentElement.setAttribute("data-theme", "dark");
SCSS変数の基本と設計パターン
SCSS変数はプロジェクト全体の設計・共通化に適しています。変数定義ファイルを使ってスケーラブルな設計が可能です。
// _variables.scss
$primary-color: #1e90ff;
$font-base-size: 16px;
$border-radius: 8px;
// style.scss
@use 'variables';
.button {
background-color: variables.$primary-color;
font-size: variables.$font-base-size;
border-radius: variables.$border-radius;
}
メリット
- 変数名に補完が効く(IDEサポート)
- 計算やmixinとの併用に強い
- チーム開発で設計の指針として活躍
両者の併用と使い分けのベストプラクティス
実務ではCSS変数とSCSS変数の併用が主流です。以下のように使い分けるのが効果的です:
SCSS変数の用途:
- 設計時に使用する静的な値(カラー・余白・フォントサイズなど)
- 計算・mixin・関数での利用
CSS変数の用途:
- JavaScriptから動的に変更されるスタイル
- テーマ切り替え・ユーザーインタラクション
- レスポンシブ時のスタイル切替
両者をつなぐ例:
$primary-color: #ff5733;
:root {
--primary-color: #{$primary-color};
}
このように、SCSS変数からCSS変数へ値を渡すことで、設計の一貫性を保ちつつ柔軟な操作が可能になります。
よくある落とし穴と注意点
- CSS変数はカスケードの影響を受ける:スコープに注意
- SCSS変数はJSで変更不可:動的制御には不向き
まとめ:CSS変数とSCSS変数の強みを活かそう
CSS変数とSCSS変数は、それぞれ異なるタイミング・用途で強みを発揮します。設計時にはSCSS変数を使って一貫性を保ちつつ、ユーザー操作やレスポンシブ対応など実行時に柔軟性が求められる場面ではCSS変数を活用しましょう。
両者を正しく理解し、目的に応じて使い分けることで、効率的かつ拡張性の高いスタイル設計が実現できます。

Contact
ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい
ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。
デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。