Heim > Web-Frontend > CSS-Tutorial > Wie kann ich einen CSS-Vererbungsbaum mit reinem JavaScript überprüfen?

Wie kann ich einen CSS-Vererbungsbaum mit reinem JavaScript überprüfen?

Mary-Kate Olsen
Freigeben: 2024-12-19 00:28:11
Original
380 Leute haben es durchsucht

How Can I Inspect a CSS Inheritance Tree Using Pure JavaScript?

Inspizieren des CSS-Vererbungsbaums mit JavaScript

Stellen Sie sich eine Webseite mit einem p-Element mit der ID „description“ vor:

<style type="text/css">
    p { color :red; }
    #description { font-size: 20px; }
</style>

<p>
Nach dem Login kopieren

Wenn der Browser dieses Element rendert, führt er alle anwendbaren CSS-Regeln in einem einzigen Vererbungsbaum zusammen. Wie können wir dies in reinem JavaScript replizieren, ohne auf Browser-Plugins angewiesen zu sein?

Lösung:

Um die auf ein Element angewendeten CSS-Regeln zu überprüfen, können wir es durchlaufen den Stylesheets des Dokuments entsprechen und mit den Selektoren des Elements übereinstimmen. Hier ist eine browserübergreifende JavaScript-Funktion, um dies zu erreichen:

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;
}
Nach dem Login kopieren

Der Aufruf von css(document.getElementById('description')) gibt ein Array von CSS-Regelzeichenfolgen zurück, die auf das Element angewendet werden, in diesem Fall:

["p { color :red; }", "#description { font-size: 20px; }"]
Nach dem Login kopieren

Diese Funktion ermöglicht Entwicklern den Zugriff auf die Quelle berechneter CSS-Regeln und hilft so beim Debuggen und Verstehen von Webseiten Styling.

Das obige ist der detaillierte Inhalt vonWie kann ich einen CSS-Vererbungsbaum mit reinem JavaScript überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage