JavaScript (プレーンまたは jQuery) を使用して CSS カスタム プロパティ (スタイルシートの var(…)
を介してアクセスされるプロパティ) を取得および設定するにはどうすればよいですか?
これは私の失敗した試みです。ボタンをクリックすると、通常の font-weight
プロパティは変更されますが、カスタム --mycolor
プロパティは変更されません。
ああああ
P粉4211197782023-10-21 17:19:53
CSS3 変数を取得/設定するための 標準メソッド は、.setProperty()
と .getPropertyValue()
です。
変数がグローバル変数 (:root
で宣言) の場合、以下を使用して値を取得および設定できます。
ただし、var の値が .setProperty()
を使用して設定されている場合、ゲッターはその値のみを返します。
CSS 宣言によって設定された場合は、unknown
が返されます。この例で確認してください:
この予期しない動作を回避するには、.getPropertyValue()
を呼び出す前に getCompulatedStyle()
メソッドを使用する必要があります。
ゲッターは次のようになります:
私の意見では、CSS 変数へのアクセスは、よりシンプル、高速、直観的かつ自然であるべきです...
アクセスと操作を容易にするために、ドキュメント内のすべてのアクティブな CSS グローバル変数を自動的に検出し、それらをオブジェクトにパッケージ化する小さな (<3kb) JavaScript ヘルパー CSSGlobalVariables
を実装しました。<3kb) javascript 帮助程序,它自动检测文档中所有活动的 CSS 全局变量并将其打包到一个对象中, < /strong>
リーリー
利用可能: https://github.com/colxi/css-global変数