• HOME > 
  • CSS > 
  • CSS内で独自の変数を定義・参照する方法【カスタムプロパティ...

CSS内で独自の変数を定義・参照する方法【カスタムプロパティ】

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像

本記事は執筆時点(2025年02月06日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。

広告
広告

今更ながらCSSで変数を使えることを知ったので、今回はカスタムプロパティの使い方について備忘録としてまとめてみます。

CSSのカスタムプロパティとは?

CSSのカスタムプロパティとは、CSS内で独自の変数を定義・参照できる機能です。変数を活用できるとコードの可読性が向上し、デザインの変更を効率的に行うことが可能になります。

定義した変数はCSS内のどこからでも呼び出せるので、複数のプロパティの値を一括管理できるようになります。

例えばテーマカラーなどサイト全体で多用する色を変数に登録しておけば、変数を書くだけで同じ色を呼び出して使いまわすことができますし、テーマカラーを変更するときも元の変数だけを修正するだけで済みます。

CSS変数の仕組み

カスタムプロパティの使い方

カスタムプロパティの変数は「:rootセレクター」を使って定義します。変数名の前にはハイフンを2つ書きます(変数名は自由に決めることができます)。

CSS変数の定義方法

:rootについて

CSSの:rootはHTMLドキュメントのルート要素(通常は<html>要素)を指すセレクターです。

最上位のHTML要素にカスタムプロパティを定義することで、他の全ての要素から参照できます。

:rootは<html>をセレクターにするよりも詳細度が高いため、両者が競合する場合は:rootが優先されます。

変数の参照

定義した変数を他のセレクターから参照する時は、var関数を使用します。下記のようにvar関数の中に参照したい変数名(2つのハイフン含む)を指定します。

CSS変数の参照方法

下記は、カスタムプロパティを使って見出しやボタンのスタイルを設定する例です。

HTML

<h2>見出しタイトル</h2>
<p>ダミーテキストダミーテキストダミーテキストダミーテキスト。</p>
<button>ボタン</button>

共通で使う色とフォントを予め変数として定義しておきます。

CSS

:root{
    --maincolor:#a01414;
    --subcolor:#144da0;
    --basecolor:#f0f0f0;
    --mainfont:"Yu Gothic","游ゴシック",sans-serif;
    --subfont:"Yu Mincho","游明朝",serif;
}
h2{
    font-family: var(--subfont);
    color:var(--maincolor);
    border-left:solid .5em var(--maincolor);
    padding-left:.5em;
}
p{
    font-family:var(--mainfont);
    color:var(--subcolor);
}
button{
    background-color: var(--subcolor);
    color:var(--basecolor);
}

その他にもコンテンツ幅やフォントサイズなどを変数として一括で管理しておけばスタイルの作成・修正の効率が格段に向上します。

まとめ

以上が、CSSのカスタムプロパティを使ってCSS内で独自の変数を定義・参照する方法です。

カラーコードやフォントファミリーを何度も記述しなくて済みますし、値を一箇所にまとめることでデザインの管理や変更が容易になるので、まだ使っていない方は是非活用してみてください。

広告
広告

関連する記事

サムネイル

CSSのcounter関数でカウントを行って連番を表示する

2025年02月06日
最近になって、contentプロパティのcounter関数を使えばCSSだけで要素をカウントして連番を表示できることを知りました。本記事ではcounter関数の […]
サムネイル

CSSのattr関数でHTMLの属性値を取得・表示する【ツー……

2025年02月06日
最近になって疑似要素で使うことができるCSSのattr関数の存在を知りました。コーディングの幅を広げる便利な関数だと感じましたので学んだ内容を備忘録としてまとめ […]
サムネイル

CSSのoutlineプロパティの使い方【borderとの違……

2025年02月06日
CSSのoutlineプロパティについて学び直す機会がありましたので、borderとの使い分けを含めて備忘録としてまとめます。 outlineプロパティとは? […]
サムネイル

CSSでPNG画像に影を落とす方法【filterプロパティd……

2025年01月15日
CSSでドロップシャドウをつけるには? CSSで要素に影(ドロップシャドウ)を付ける手段としては「box-shadow」や「text-shadow(テキストの場 […]
サムネイル

CSSのfilterプロパティの関数の種類と効果をまとめ【フ……

2025年01月06日
最終更新日:2025年01月15日
IEのサポートが終了したので、これまで使う機会の少なかったfilterプロパティを改めて調べたところ、CSSでの表現の幅を広げてくれる画期的なプロパティだと気づ […]
サムネイル

CSSで写真にぼかし加工を加える方法【filterプロパティ……

2025年01月06日
CSSだけで写真をぼかせる? CSSのfilterプロパティのblur()関数を使うと、画像(要素)にぼかしを加えることができます。 画像編集ソフトを使うことな […]