CSSグローバル変数の作成 : スタイルシートのテーマ管理 [重複]について
質問内容
など、cssでグローバル変数を設定する方法はありますか?
@Color1 = #fff;
@Color2 = #b00;
h1 {
color:@Color1;
background:@Color2;
}
どのように解決するのですか?
最新の更新情報です。 16/01/2020
CSSカスタムプロパティ(変数)登場!
2020 年になり、新しいアプリケーションでこの機能を正式に展開する時が来ました。
プリプロセッサー "NOT"。 は必須です!
CSSには多くの繰り返しがあります。一つの色が数カ所で使われることがあります。
CSSの宣言によっては、これをカスケードで上位に宣言し、CSSの継承で自然に解決させることが可能です。
非自明なプロジェクトでは、これは常に可能というわけではありません。変数を宣言することで
:root
擬似要素に変数を宣言することで、CSS 作成者はその変数を使用して繰り返しのいくつかのインスタンスを停止させることができます。
どのように機能するか
スタイルシートの先頭で変数を設定します。
CSS
ルートクラスを作成します。
:root {
}
変数の作成 (--) [文字列]です。 : [値]です。 )
:root {
--red: #b00;
--blue: #00b;
--fullwidth: 100%;
}
CSS文書内の任意の場所に変数を設定します。
h1 {
color: var(--red);
}
#MyText {
color: var(--blue);
width: var(--fullwidth);
}
ブラウザサポート / 互換性
参照 caniuse.com をご覧ください。
Firefoxです。 バージョン 31 + (デフォルトで有効)
対応時期 2014 (いつも通りリードしています)
クロームです。 バージョン 49 + (デフォルトで有効) .
以降にサポートされる 2016
Safari/IOS Safariです。 バージョン 9.1/9.3 (デフォルトで有効) .
以降にサポートされる 2016
オペラです。 バージョン 39 + (デフォルトで有効) .
以降にサポートされる 2016
アンドロイドです。 バージョン 52 + (デフォルトで有効) .
以降にサポートされる 2016
エッジです。 バージョン 15 + (デフォルトで有効) .
以降にサポートされる 2017
CSS カスタム プロパティは Windows Insider Preview ビルド 14986 に上陸しました。
IEです。 豚が飛ぶとき。
もうこの船は沈むしかない。どうせ誰も楽しんで乗っていないのだから☺。
W3C SPEC
今後の CSS 変数の完全な仕様
試してみる
テスト用のフィドルとスニペットを以下に添付します。
(サポートされているブラウザでのみ動作します)
:root {
--red: #b00;
--blue: #4679bd;
--grey: #ddd;
--W200: 200px;
--Lft: left;
}
.Bx1,
.Bx2,
.Bx3,
.Bx4 {
float: var(--Lft);
width: var(--W200);
height: var(--W200);
margin: 10px;
padding: 10px;
border: 1px solid var(--red);
}
.Bx1 {
color: var(--red);
background: var(--grey);
}
.Bx2 {
color: var(--grey);
background: black;
}
.Bx3 {
color: var(--grey);
background: var(--blue);
}
.Bx4 {
color: var(--grey);
background: var(--red);
}
<p>If you see four square boxes then variables are working as expected.</p>
<div class="Bx1">I should be red text on grey background.</div>
<div class="Bx2">I should be grey text on black background.</div>
<div class="Bx3">I should be grey text on blue background.</div>
<div class="Bx4">I should be grey text on red background.</div>
関連
-
[CSSチュートリアル】空間均等性の問題を解決する2つの方法
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] CSSのdisplayプロパティで遷移する
-
[解決済み] スクロールバーを隠すが、スクロールはできる状態
-
[解決済み] How do I style a <select> dropdown with only CSS?
-
[解決済み] HTML5の数値入力のスピンボックスを非表示にすることはできますか?
-
[解決済み] javascript(またはjQuery)を使って::beforeや::afterなどのCSS疑似要素を選択し、操作する。
-
[解決済み] ボディの高さをブラウザの高さの100%にする
-
[解決済み] Pythonの変数名や関数名の命名規則について教えてください。
-
[解決済み】HTML5入力のプレースホルダの色をCSSで変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル]CSSで簡単!高周波な異形ボタンを実現する方法
-
[CSSチュートリアル】シングルセレクトの折りたたみメニュー機能を実現するCSS
-
[CSSチュートリアル】overflow:hiddenの役割を解説(overflow hidden、clear float、外周マージンの崩れを解決する)。
-
[CSSチュートリアル】CSSもこんな風に遊べる?気まぐれグラデーションの極意
-
[CSSチュートリアル】ネイティブCSSでテキストの無制限回転を実現する汎用的な方法
-
[CSSチュートリアル]CSS気まぐれボーダーアニメーション効果
-
[css3]Apple携帯電話のロック解除のためのCSS3サンプルフォントシャインエフェクト
-
[css3]赤いパケットのジッター効果を実現するCSS3
-
[CSSチュートリアル]ドラッグ&ドロップ効果を実現するピュアCSSコード
-
[CSSチュートリアル】CSS複合セレクタの具体的な使用方法