ホームページ >ウェブフロントエンド >CSSチュートリアル >JavaScript を使用して CSS 変数を動的に変更するにはどうすればよいですか?

JavaScript を使用して CSS 変数を動的に変更するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-12 21:05:12496ブラウズ

How Can I Dynamically Change CSS Variables Using JavaScript?

JS を使用した CSS 変数の編集

プロジェクトのスタイルを動的に制御するために CSS 変数を編集しようとしています。 --main-background-image や --main-text-color などの変数を定義しているときに、属性を使用して値を変更しようとするとエラーが発生します。

根本原因

発生したエラーは、CSS を変更するための setAttribute メソッドの誤った使用が原因です変数.

解決策

CSS 変数を編集するには 3 つの方法がありますJS:

  • style.cssText:

    document.documentElement.style.cssText = "--main-background-color: red";
  • style.setProperty:

    document.documentElement.style.setProperty("--main-background-color", "green");
  • setAttribute ("style" 属性を使用):

    document.documentElement.setAttribute("style", "--main-background-color: green");

CSS 変数を正常に編集するには、コード スニペット内のコメント行を上記のいずれかの方法で置き換えます。

デモ

次のことを検討してください例:

html {
  --main-background-color: rgba(0,0,0,.25);
}

body {
  background-color: var(--main-background-color);
}
window.onload = function() {
  setTimeout(function() {
    document.documentElement.style.cssText = "--main-background-color: red";
  }, 2000);
};

このデモでは、--main-background-color の値は、ページの読み込みから 2 秒後に赤に変わります。

以上がJavaScript を使用して CSS 変数を動的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。