84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
JavaScript (プレーンまたは jQuery) を使用して CSS カスタム プロパティ (スタイルシートのvar(…)を介してアクセスされるプロパティ) を取得および設定するにはどうすればよいですか?
var(…)
これは私の失敗した試みです。ボタンをクリックすると、通常のfont-weightプロパティは変更されますが、カスタム--mycolorプロパティは変更されません。 ああああ
font-weight
--mycolor
CSS3 変数を取得/設定するための標準メソッドは、.setProperty()と.getPropertyValue()です。
.setProperty()
.getPropertyValue()
変数がグローバル変数 (:rootで宣言) の場合、以下を使用して値を取得および設定できます。
:root
ただし、var の値が.setProperty()を使用して設定されている場合、ゲッターはその値のみを返します。 CSS 宣言によって設定された場合は、unknownが返されます。この例で確認してください:
unknown
この予期しない動作を回避するには、.getPropertyValue()を呼び出す前にgetCompulatedStyle()メソッドを使用する必要があります。 ゲッターは次のようになります:
getCompulatedStyle()
私の意見では、CSS 変数へのアクセスは、よりシンプル、高速、直観的かつ自然であるべきです...
アクセスと操作を容易にするために、ドキュメント内のすべてのアクティブな CSS グローバル変数を自動的に検出し、それらをオブジェクトにパッケージ化する小さな (CSSGlobalVariables を実装しました。 リーリー
利用可能:https://github.com/colxi/css-global変数
document.body.style.setProperty('--name', value);:を使用できます。 リーリー
:
ネイティブ ソリューション
CSS3 変数を取得/設定するための標準メソッドは、
.setProperty()
と.getPropertyValue()
です。変数がグローバル変数 (
リーリー:root
で宣言) の場合、以下を使用して値を取得および設定できます。ただし、var の値が
.setProperty()
を使用して設定されている場合、ゲッターはその値のみを返します。 CSS 宣言によって設定された場合は、unknown
が返されます。この例で確認してください:この予期しない動作を回避するには、
リーリー.getPropertyValue()
を呼び出す前にgetCompulatedStyle()
メソッドを使用する必要があります。 ゲッターは次のようになります:私の意見では、CSS 変数へのアクセスは、よりシンプル、高速、直観的かつ自然であるべきです...
私の個人的なアプローチ
アクセスと操作を容易にするために、ドキュメント内のすべてのアクティブな CSS グローバル変数を自動的に検出し、それらをオブジェクトにパッケージ化する小さな (CSSGlobalVariables を実装しました。 リーリー
オブジェクトのプロパティに適用された変更はすべて、自動的に CSS 変数に変換されます。利用可能:https://github.com/colxi/css-global変数
document.body.style.setProperty('--name', value);
:
を使用できます。 リーリー