CSSオーバーライド変数
グローバル変数をローカル変数でオーバーライドする
前のページから、グローバル変数はドキュメント全体からアクセス/使用できるのに対し、ローカル変数は宣言されているセレクター内でのみ使用できることを学びました。
前のページの例を見てください。
例
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding:
15px;
}
button {
background-color: var(--white);
color: var(--blue);
border: 1px solid var(--blue);
padding: 5px;
}
ページの特定のセクションでのみ変数を変更したい場合があります。
ボタン要素に別の色の青が必要だとします。次に、ボタンセレクター内で--blue変数を再宣言できます。このセレクター内でvar(-blue)を使用すると、ここで宣言されたローカルの--blue変数値が使用されます。
ローカルの--blue変数が、ボタン要素のグローバルな--blue変数をオーバーライドすることがわかります。
例
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding:
15px;
}
button {
--blue: #0000ff; /* local variable will
override global */
background-color: var(--white);
color: var(--blue);
border: 1px solid var(--blue);
padding: 5px;
}
新しいローカル変数を追加する
変数を1つの場所でのみ使用する場合は、次のように新しいローカル変数を宣言することもできます。
例
:root {
--blue: #1e90ff;
--white: #ffffff;
}
body {
background-color: var(--blue);
}
h2 {
border-bottom: 2px solid var(--blue);
}
.container {
color: var(--blue);
background-color: var(--white);
padding:
15px;
}
button {
--button-blue: #0000ff; /* new local
variable */
background-color: var(--white);
color: var(--button-blue);
border: 1px solid var(--button-blue);
padding: 5px;
}
ブラウザのサポート
表の数字は、この
var()
機能を完全にサポートする最初のブラウザバージョンを示しています。
Function | |||||
---|---|---|---|---|---|
var() | 49.0 | 15.0 | 31.0 | 9.1 | 36.0 |
CSS var()関数
Property | Description |
---|---|
var() | Inserts the value of a CSS variable |