Ich habe eine riesige CSS-Datei und eine HTML-Datei. Ich möchte herausfinden, welche Regeln beim Anzeigen einer HTML-Datei nicht verwendet werden. Gibt es Werkzeuge dafür?
Die CSS-Datei hat sich über einige Jahre hinweg entwickelt und soweit ich weiß, hat noch niemand etwas davon entfernt - die Leute haben einfach immer wieder neue übergeordnete Regeln geschrieben.
BEARBEITEN: Es wurde vorgeschlagen, Dust-Me Selectors oder das Webseiten-Leistungstool von Chrome zu verwenden. Beide arbeiten jedoch auf der Ebene der Selektoren und nicht nach individuellen Regeln. Ich habe viele Fälle, in denen eine Regel innerhalb eines Selektors immer außer Kraft gesetzt wird - und das ist es, was ich am liebsten loswerden möchte. Beispielsweise:
body { color: white; padding: 10em; }
h1 { color: black; }
p { color: black; }
...
ul { color: black; }
Der gesamte Text in meinem HTML-Code befindet sich in einem Wrapper-Element, sodass er niemals weiß ist. body
Da die Polsterung immer funktioniert, kann natürlich nicht der gesamte body
Selektor entfernt werden. Und solche nutzlosen Regeln möchte ich auch gerne loswerden.
EDIT: Und ein weiterer Fall von nutzloser Regel: Wenn es eine vorhandene dupliziert, ohne etwas zu ändern:
a { margin-left: 5px; color: blue; }
a:hover { margin-left: 5px; color: red; }
Ich würde gerne den zweiten loswerden margin-left
... wieder scheint es mir, dass diese Werkzeuge solche Dinge nicht finden.
EDIT: Ich schätze alle Antworten, aber leider haben die von Ihnen vorgeschlagenen Tools keine nützlichen Vorschläge gemacht. Ich habe Ihre Antworten positiv bewertet, aber ich werde auf ein Tool warten, das die oben genannten Aufgaben genauer ausführt.
Vielen Dank,
quelle
Antworten:
Dust Me Selecters Firefox-Erweiterung
In den Chrome-Entwicklertools können Sie mit dem Webseitenleistungstool nicht verwendete CSS-Regeln suchen.
quelle
.abc
eine andere Marge hat,<a class="abc">
würde sich die Marge meines Erachtens beim Schweben ändern. Nun, das ist wahrscheinlich nicht das, was Sie beabsichtigen, aber es könnte sicherlich sein, und Sie können diese doppelte Regel nicht blind entfernen.a.abc
oder keine <a class="abc"/> im HTML gibt, existiert sie nicht. Auf jeden Fall habe ich die Aufgabe, die mich dazu veranlasst hat, diese Frage hier zu stellen, bereits abgeschlossen und bin zu Ende gegangen mit dem Anwenden einer Menge Heuristiken. Ich habe die Entwicklertools von Chrome ausprobiert, aber sie haben mir nicht viel geholfen.Sie können auch einen Blick auf Unused-CSS.com werfen. Dieses Tool durchsucht Ihre Seiten und erstellt eine optimierte CSS-Datei ohne die nicht verwendeten Selektoren
quelle
Ich habe CSS schon immer gemocht . Es ist ein Plugin für Firebug und lässt Sie die Seite scannen und sehen, welche CSS-Regeln nicht angewendet werden. Es wird sogar automatisch gescannt und funktioniert über mehrere Seiten.
quelle
Check uncss, es ist ein Knotenmodul.
"UnCSS ist ein Tool, mit dem Sie nicht verwendetes CSS aus Ihren Stylesheets entfernen können. Es funktioniert über mehrere Dateien hinweg und unterstützt mit Javascript injiziertes CSS."
https://www.npmjs.com/package/uncss
Nach Kommentar bearbeiten:
Ich denke, Sie fragen nach zwei verschiedenen Dingen:
Nicht verwendete Regeln automatisch entfernen, das kann uncss für Sie tun. Ich habe auch dieses Tool erstellt, CSS byebye, aber es ist nicht automatisch, wie Sie fragen: https://www.npmjs.com/package/css-byebye
Optimieren Sie das Stylesheet, in dem Regeln zusammengeführt / vereinfacht werden können.
In diesem Fall würde ich zwei Tools empfehlen, die diese Art von Dingen ausführen:
Sie machen mehr oder weniger die gleichen Optimierungen, manchmal hat einer bessere Ergebnisse als der andere, und manchmal ist es das Gegenteil. Das hängt von Ihrem Stylesheet ab. (Sie könnten auch eine nach der anderen laufen: P)
Ich benutze sie als Teil eines Build-Prozesses mit Grunzen. Es ist also nicht wirklich eine visuelle Sache, wie Sie es fragen, aber sie machen die Art von Optimierungen, die Sie wollen.
Hier ist, was sie für CSSO sagen (vollständige Informationen hier: https://en.bem.info/tools/optimizers/csso/ )
Strukturelle Optimierungen:
quelle
@ John: exzellentes Tool, danke für den Link
@liori: Ich würde auch das Firefox Web Developer-Plugin wärmstens empfehlen, mit dem Sie die Elementnamen / -eigenschaften anzeigen, das CSS in Echtzeit bearbeiten (nicht in Ihre CSS-Datei schreiben) können, damit Sie CSS-Änderungen ohne Faff bearbeiten und testen können zu speichern und laden Sie Ihre CSS immer 3 Sekunden. + lädt mehr Funktionen.
Es gibt auch einen sehr netten DOM-Inspektor, der sich in Firebug einbinden lässt, der sich auch einbinden lässt und sich hervorragend zum Aussortieren von Javascript eignet.
quelle
Eigentlich ist John, der neue Browser der Firefox Developer Edition, besser als Firebug oder das Firefox-Dienstprogramm. Probieren Sie es aus und Sie werden nicht enttäuscht sein, da bin ich mir sicher!
https://www.mozilla.org/en-US/firefox/developer/?utm_medium=paidsearch&utm_source=google&utm_campaign=dev-sem-q1-2015
quelle