Maison > interface Web > tutoriel CSS > Comment puis-je modifier dynamiquement les variables CSS à l'aide de JavaScript ?

Comment puis-je modifier dynamiquement les variables CSS à l'aide de JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-12 21:05:12
original
507 Les gens l'ont consulté

How Can I Dynamically Change CSS Variables Using JavaScript?

Modification des variables CSS avec JS

Vous essayez de modifier des variables CSS pour contrôler dynamiquement le style de votre projet. Pendant que vous avez défini des variables telles que --main-background-image et --main-text-color, vous êtes confronté à une erreur lorsque vous essayez de modifier leurs valeurs à l'aide d'attributs.

Cause première

L'erreur que vous avez rencontrée est due à une utilisation incorrecte de la méthode setAttribute pour changer le CSS variables.

Solution

Il existe trois méthodes pour éditer les variables CSS avec JS :

  • style.cssTexte :

    document.documentElement.style.cssText = "--main-background-color: red";
    Copier après la connexion
  • style.setProperty :

    document.documentElement.style.setProperty("--main-background-color", "green");
    Copier après la connexion
  • setAttribute (avec l'attribut "style") :

    document.documentElement.setAttribute("style", "--main-background-color: green");
    Copier après la connexion

Dans votre extrait de code, remplacez les lignes commentées par l'une des méthodes ci-dessus pour réussir à modifier les variables CSS.

Démo

Considérez ce qui suit exemple :

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

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

Dans cette démo, la valeur --main-background-color passe au rouge deux secondes après le chargement de la page.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal