Zum Inhalt springen
100% lokal

Finder für ungenutzte CSS-Selektoren

Vergleichen Sie ein Stylesheet mit einer HTML-Seite und listen Sie die Selektoren auf, die nichts treffen.

Eingabe
HTML
Ausgabe

Finder für ungenutzte CSS-Selektoren

Fügen Sie ein Stylesheet auf der einen Seite und das HTML, das es formatiert, auf der anderen Seite ein, und dieses Tool listet jeden Selektor auf, der kein Element auf der Seite trifft. Es ist eine schnelle Möglichkeit, tote Regeln zu erkennen, die nach einer Neugestaltung, einem entfernten Element oder Monaten von kopiertem CSS zurückgelassen wurden - die Art von Ballast, der in einer Datei mit Hunderten von Regeln mühsam von Auge zu finden ist.

Pseudo-Klassen und Pseudo-Elemente ignorieren vergleicht eine Regel wie .button:hover als einfaches .button, da ein statischer HTML-Schnappschuss keinen Hover- oder Fokuszustand zeigen kann; deaktivieren Sie es und das Tool prüft die Regeln, die es sicher kann - first-child, last-child, nth-child und not - anhand der tatsächlichen Position jedes Elements. Selektoren ignorieren, die entsprechen akzeptiert einen regulären Ausdruck oder ein einfaches Textfragment als Fallback, um Klassen auszuschließen, die ein Skript zur Laufzeit umschaltet, wie alles, das mit js- oder is-active beginnt, damit sie nie als tot markiert werden. HTML-Klassen/IDs ohne CSS-Regel anzeigen kehrt den Vergleich um, was zum Erkennen von Tippfehlern in Klassennamen hilfreich ist. Selektoren in @media einschließen prüft Media-Query-Regeln genauso wie den Rest des Stylesheets oder überspring sie, wenn sie ausgeschaltet ist. Schalten Sie die Ausgabe auf Bereinigte CSS um, um das Stylesheet mit jeder ungenutzten Regel entfernt zurückzuerhalten.

Der Vergleich wird gegen die HTML-Struktur wie geschrieben durchgeführt - Markup, das von einem Skript nach dem Laden der Seite eingespritzt wird, ist nicht im eingefügten Schnappschuss vorhanden. Überprüfen Sie also zweimal, bevor Sie eine Regel löschen. Selektoren, die mit Kommas kombiniert sind, werden einzeln überprüft. Eine Regel, die zwei Klassen auf einmal abdeckt, wird nur entfernt, wenn beide bestätigt ungenutzt sind.

Alles passiert in Ihrem Browser: die CSS und HTML, die Sie einfügen, werden nirgendwo hochgeladen. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter oder senden Sie es direkt zurück in die Eingabe, um einen weiteren Durchgang durchzuführen.

Häufige Fragen

Prüft es Selektoren in @media, @supports und @keyframes?
Selektoren in @media werden wie jede andere Regel geprüft, mit einer Option, diese bei Bedarf zu überspringen. Andere At-Regeln wie @font-face und @keyframes haben keine Element-Selektoren zum Vergleichen, daher bleiben sie unverändert.
Kann es Klassen erfassen, die JavaScript hinzufügt oder entfernt?
Nein - der Abgleich wird mit dem HTML durchgeführt, das Sie einfügen, nicht mit einer aktiven, skriptgesteuerten Seite. Verwenden Sie die Ignore-Pattern-Option, um Klassen auszuschließen, die Sie wissen, dass sie von JavaScript umgeschaltet werden, wie is-open oder js-active, damit sie nicht als ungenutzt gemeldet werden.
Was passiert mit Kombinatoren wie Child- oder Sibling-Selektoren?
Das Tool folgt der vollständigen Selektor-Kette - Nachkomme, Kind, benachbartes Geschwister und allgemeines Geschwister - gegen die Struktur des eingefügten HTML, nicht nur den endgültigen Klassennamen.
Warum ist ein Selektor, den ich kenne, dass er verwendet wird, immer noch als ungenutzt aufgelistet?
Meist wurde das HTML, das es verwendet, nicht eingefügt, oder es wird dynamisch hinzugefügt, nachdem die Seite geladen wird. Fügen Sie das vollständige gerenderte Markup ein, oder schließen Sie den Selektor mit der Ignore-Pattern-Option aus, falls er von einem Skript angewendet wird.
Wird mein CSS oder HTML irgendwo hochgeladen?
Nein. Der Vergleich wird vollständig in Ihrem Browser durchgeführt - weder das Stylesheet noch das Markup, das Sie einfügen, verlässt Ihr Gerät.