Mam ogromny plik CSS i plik HTML. Chciałbym dowiedzieć się, które reguły nie są używane podczas wyświetlania pliku HTML. Czy są na to narzędzia?
Plik CSS ewoluował przez kilka lat i z tego, co wiem, nikt nigdy niczego z niego nie usunął - ludzie ciągle pisali nowe, nadrzędne zasady.
EDYCJA: Sugerowano użycie Selektorów Dust-Me lub narzędzia wydajności strony internetowej Chrome. Ale oba działają na poziomie selektorów, a nie na poszczególnych zasadach. Mam wiele przypadków, w których reguła w selektorze jest zawsze nadpisywana - i tego właśnie najbardziej chcę się pozbyć. Na przykład:
body { color: white; padding: 10em; }
h1 { color: black; }
p { color: black; }
...
ul { color: black; }
Cały tekst w moim HTML jest wewnątrz jakiegoś elementu opakowania, więc nigdy nie jest biały. body
Wypełnienie zawsze działa, więc oczywiście body
nie można usunąć całego selektora. Chciałbym też pozbyć się tak bezużytecznych zasad.
EDYCJA: I kolejny przypadek bezużytecznej reguły: gdy powiela istniejącą, nie zmieniając niczego:
a { margin-left: 5px; color: blue; }
a:hover { margin-left: 5px; color: red; }
Z radością pozbyłbym się drugiego margin-left
... znowu wydaje mi się, że te narzędzia nie znajdują takich rzeczy.
EDYCJA: Doceniam wszystkie odpowiedzi, ale niestety narzędzia, które zasugerowałeś, nie przyniosły żadnych użytecznych sugestii. Poparłem twoje odpowiedzi, ale poczekam na narzędzie, które robi wszystko bardziej szczegółowo, jak określono powyżej.
Dziękuję Ci,
źródło
Odpowiedzi:
Rozszerzenie Dust Me Selecters Firefox
W Narzędziach programisty Chrome możesz użyć narzędzia Wydajność strony internetowej, aby znaleźć nieużywane reguły CSS.
źródło
.abc
ma inny margines,<a class="abc">
myślę , że zmieniłby margines po najechaniu myszą. To prawdopodobnie nie jest to, co zamierzasz, ale z pewnością może być i nie możesz ślepo usunąć tej zduplikowanej reguły.a.abc
lub nie ma <a class="abc"/> nigdzie w kodzie HTML, to nie istnieje. W każdym razie już zakończyłem zadanie, które skłoniło mnie do zadania tego pytania tutaj i zakończyłem z zastosowaniem wielu heurystyk. Wypróbowałem Narzędzia programistyczne Chrome, ale niewiele mi pomogły.Możesz także zajrzeć na Unused-CSS.com To narzędzie zbada twoje strony i zbuduje zoptymalizowane pliki CSS bez nieużywanych selektorów
źródło
Zawsze lubiłem użycie CSS . Jest to wtyczka do Firebuga i pozwala zeskanować stronę i zobaczyć, które reguły CSS nie są stosowane. Będzie nawet automatycznie skanować i działać na kilku stronach.
źródło
Sprawdź uncss, to moduł węzła.
„UnCSS to narzędzie, które usuwa nieużywany CSS z arkuszy stylów. Działa w wielu plikach i obsługuje CSS wstrzykiwany przez Javascript”.
https://www.npmjs.com/package/uncss
Edytuj po komentarzu:
Myślę, że pytasz o dwie różne rzeczy:
Automatycznie usuwaj nieużywane reguły, to właśnie może dla Ciebie zrobić Uncss. Zrobiłem też to narzędzie, CSS, żegnaj, ale nie jest to automatyczne, jak pytasz: https://www.npmjs.com/package/css-byebye
Zoptymalizuj arkusz stylów, w którym reguły mogą zostać scalone / uproszczone.
W takim przypadku poleciłbym dwa narzędzia, które robią takie rzeczy:
Robią mniej więcej te same optymalizacje, czasami jedna ma lepsze wyniki niż druga, a czasem jest odwrotnie. To zależy od twojego arkusza stylów. (możesz też biegać jeden po drugim: P)
Używam ich jako części procesu kompilacji z pomrukiem. Więc to nie jest tak wizualna rzecz, jak pytasz, ale wykonują optymalizacje, które chcesz.
Oto, co mówią o CSSO (pełne informacje tutaj: https://en.bem.info/tools/optimizers/csso/ )
Optymalizacje strukturalne:
źródło
@John: doskonałe narzędzie, dzięki za link
@liori: Gorąco poleciłbym również wtyczkę Firefox Web Developer, która pozwala wyświetlać nazwy / właściwości elementów, edytować css w czasie rzeczywistym (nie zapisuje pliku css), abyś mógł edytować i testować zmiany css bez faff konieczności zapisywania i przesyłania css co 3 sekundy. + ładuje więcej funkcji.
Jest też bardzo fajny inspektor DOM, który podłącza się do Firebug, który również się podłącza i jest świetny do sortowania Javascript.
źródło
Właściwie John, nowa przeglądarka Firefox Developer Edition jest lepsza niż używanie Firebug lub narzędzia Firefox. Spróbuj, a nie zawiedziesz się, jestem pewien!
https://www.mozilla.org/en-US/firefox/developer/?utm_medium=paidsearch&utm_source=google&utm_campaign=dev-sem-q1-2015
źródło