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

Comment puis-je modifier dynamiquement les styles de pseudo-éléments CSS à l'aide de JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-24 07:09:15674parcourir

How Can I Dynamically Change CSS Pseudo-Element Styles Using JavaScript?

Manipulation dynamique des styles de pseudo-éléments CSS via JavaScript

En essayant de modifier dynamiquement les styles de pseudo-éléments CSS via JavaScript, les utilisateurs peuvent rencontrer le Erreur « TypeError non détecté : impossible de lire la propriété « style » de null ». Cet article explore une approche alternative tirant parti des variables CSS pour obtenir une compatibilité entre navigateurs dans les navigateurs WebKit en particulier.

Approche basée sur les variables CSS

En CSS, définissez une variable CSS pour la couleur d'arrière-plan de la barre de défilement :

#editor {
  --scrollbar-background: #ccc;
}

Ensuite, appliquez la variable à la barre de défilement pseudo-élément :

#editor::-webkit-scrollbar-thumb:vertical {
  /* Fallback color */
  background-color: #ccc;
  /* Dynamic value */
  background-color: var(--scrollbar-background);
}

Manipulation JavaScript

En JavaScript, définissez la variable CSS sur l'élément #editor :

document.getElementById("#editor").style.setProperty('--scrollbar-background', localStorage.getItem("Color"));

Ceci La méthode permet une manipulation dynamique de la couleur d'arrière-plan de la barre de défilement, même dans les navigateurs plus anciens qui ne prennent pas en charge les fonctionnalités CSS modernes.

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!

Déclaration:
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