Tips
開発Tips(2025-11-05)
CSS変数(カスタムプロパティ)を効果的に活用して、テーマの切り替えやコンポーネントの再利用性を高めるためのテクニックです。動的なスタイリングをより柔軟に、メンテナンス性を向上させることができます。
CSS
CSS変数(カスタムプロパティ)を効果的に活用して、テーマの切り替えやコンポーネントの再利用性を高めるためのテクニックです。動的なスタイリングをより柔軟に、メンテナンス性を向上させることができます。
CSS変数のスコープとカスケードを利用したテーマ切り替え
CSS変数は、グローバルスコープだけでなく、要素ごとに定義することもできます。この特性を利用して、テーマを切り替える際に、ルート要素にテーマに応じた変数を定義することで、ページ全体のスタイルを簡単に変更できます。
:root {
--bg-color: #fff;
--text-color: #000;
}
[data-theme="dark"] {
--bg-color: #000;
--text-color: #fff;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
}
説明:
上記の例では、:rootにデフォルトの背景色とテキスト色を定義し、[data-theme="dark"]属性を持つ要素に対して、ダークテーマの変数を定義しています。body要素はvar()関数を使ってCSS変数を参照しているため、data-theme属性の値に応じて自動的にスタイルが切り替わります。
注意点: CSS変数はIE11以前のブラウザではサポートされていません。必要に応じて、postcssなどのツールを使ってフォールバックを提供することを検討してください。
おすすめポイント: JavaScriptと組み合わせることで、ユーザーの操作に応じて動的にテーマを切り替えることが可能です。また、コンポーネントごとに異なるCSS変数を定義することで、より柔軟なスタイリングを実現できます。