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

Comment tracer l'arborescence d'héritage CSS en JavaScript ?

Patricia Arquette
Libérer: 2024-11-10 11:07:02
original
969 Les gens l'ont consulté

How to Trace the CSS Inheritance Tree in JavaScript?

Traçage de l'arbre d'héritage CSS en JavaScript

Identifier les règles CSS appliquées à un élément spécifique est crucial pour comprendre l'apparence visuelle et le comportement d'un page web. De nombreux outils fournissent des méthodes pratiques pour sélectionner des éléments en fonction de la classe ou de l'ID, mais retracer les origines des règles CSS calculées pose un défi en JavaScript pur.

Pour résoudre ce problème, une solution compatible avec plusieurs navigateurs peut être implémentée :

function css(el) {
    var sheets = document.styleSheets, ret = [];
    el.matches = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector 
        || el.msMatchesSelector || el.oMatchesSelector;
    for (var i in sheets) {
        var rules = sheets[i].rules || sheets[i].cssRules;
        for (var r in rules) {
            if (el.matches(rules[r].selectorText)) {
                ret.push(rules[r].cssText);
            }
        }
    }
    return ret;
}
Copier après la connexion

Cette fonction prend un élément comme argument et renvoie un tableau de règles CSS qui s'y appliquent. Pour démontrer son utilisation :

var element = document.getElementById('elementId');
var rules = css(element);
console.log(rules); // Array of CSS rules applied to the element
Copier après la connexion

Cette solution fournit une méthode légère et compatible avec tous les navigateurs pour déterminer les règles CSS appliquées à un élément, permettant aux développeurs de retracer l'arborescence d'héritage et d'obtenir des informations plus approfondies sur le style de leurs pages Web.

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