Maison > interface Web > js tutoriel > le corps du texte

Comment puis-je modifier dynamiquement les valeurs CSS définies dans une feuille de style à l'aide de Javascript ?

Barbara Streisand
Libérer: 2024-10-26 02:32:27
original
272 Les gens l'ont consulté

How can I dynamically change CSS values defined in a stylesheet using Javascript?

Changer les valeurs CSS avec Javascript : Comprendre la manipulation des feuilles de style

Souvent, nous constatons le besoin de modifier les valeurs CSS de manière dynamique à l'aide de Javascript. Bien que la définition de valeurs CSS en ligne soit simple, cela peut présenter des défis lorsque le CSS est défini dans une feuille de style.

Exemple :

Considérez le code HTML suivant :

<code class="html"><div id="tId" style="width: 10px"></div></code>
Copier après la connexion

Et le CSS correspondant :

<code class="css">#tId {
  width: 50%;
}</code>
Copier après la connexion

La modification de l'attribut de style en ligne à l'aide de Javascript remplacera les valeurs de la feuille de style, comme indiqué ci-dessous :

document.getElementById('tId').style.width = "30%";
Copier après la connexion

Cela entraîne :

<code class="html"><div id="tId" style="width: 30%"></div></code>
Copier après la connexion

Défi :

Le problème avec cette approche est que :

  • Elle n'affecte que les valeurs en ligne.
  • Récupérer la valeur de largeur avant de la modifier renvoie Null lorsqu'il n'y a pas de style en ligne.

Solution : manipuler les valeurs des feuilles de style

Pour relever ces défis, nous avons besoin pour manipuler les valeurs directement dans la feuille de style. Voici comment y parvenir :

  1. Obtenez un tableau de feuilles de style à l'aide de document.styleSheets.
  2. Trouvez la feuille de style spécifique que vous souhaitez modifier à l'aide de document.styleSheets[styleIndex].href.
  3. Obtenez un tableau de règles CSS en utilisant document.styleSheets[styleIndex].cssRules (pour la plupart des navigateurs) ou document.styleSheets[styleIndex].rules (pour IE).
  4. Identifiez la règle CSS que vous souhaitez modifier en vérifiant la propriété selectorText.

Le code suivant illustre cette approche :

var styleIndex = ...; // Index of the targeted stylesheet
var ruleIndex = ...; // Index of the targeted CSS rule
var cssRuleCode = document.all ? 'rules' : 'cssRules';
var rule = document.styleSheets[styleIndex][cssRuleCode][ruleIndex];
var value = rule.value; // Get the current value
rule.value = ...; // Modify the value
Copier après la connexion

En implémentant cette approche, vous pouvez manipuler efficacement les valeurs CSS dans les feuilles de style, en garantissant que les modifications sont appliquées globalement à tous les éléments du style spécifié.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!