0Pricing
CSS Academy · Урок

Покрытие CSS и неиспользуемые стили

Находите и удаляйте неиспользуемый CSS с помощью панели Coverage в DevTools и инструментов удаления неиспользуемого кода, таких как PurgeCSS.

«Покрытие CSS и неиспользуемые стили» — бесплатный урок CSS Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CSS Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CSS Academy содержит 4 уроков всего.

Проблема неиспользуемого CSS

Большие файлы CSS часто содержат стили для компонентов, которых нет на текущей странице. Каждый неиспользуемый байт увеличивает время разбора, построения CSSOM и передачи данных. В типичном рабочем приложении на любой конкретной странице может не использоваться 90% CSS или даже больше.

Покрытие в Chrome DevTools

Откройте DevTools → панель покрытия (Cmd+Shift+P → Покрытие). Начните запись, взаимодействуйте со страницей, а затем остановите запись. Панель показывает каждый файл CSS с процентом использования и выделяет неиспользуемые правила красным цветом. Экспортируйте данные о покрытии в формате JSON для анализа.

PurgeCSS

PurgeCSS просматривает файлы HTML, JS и шаблонов, находит имена классов и удаляет неиспользуемые правила CSS. Настройте шаблоны путей так, чтобы охватить все файлы, в которых могут встречаться имена классов. Добавляйте динамически используемые классы (добавляемые с помощью JS) в список исключений, чтобы предотвратить случайное удаление.

JIT в Tailwind CSS

JIT-компилятор Tailwind генерирует только служебные классы, фактически используемые в шаблонах. В результате CSS получается очень небольшим — часто 5–15 КБ для целого приложения, — поскольку неиспользуемые служебные классы вообще не генерируются. Это идеальный результат удаления неиспользуемых стилей.

Конфигурация PurgeCSS

В конфигурации webpack или Vite добавьте PurgeCSS с шаблонами путей, охватывающими все файлы шаблонов. Параметр safelist принимает строки, регулярные выражения и deep-safelist для сложных шаблонов динамических классов из библиотек вроде Headless UI.

Преимущество CSS Modules

CSS Modules создают уникальные имена классов для каждого файла и удаляют неиспользуемые модули с помощью настроек сборщика. В пакет сборки включаются только импортированные модули CSS, а размещение стилей рядом с компонентами естественным образом устраняет неиспользуемые глобальные стили.

Разделение CSS по маршрутам

Разделяйте CSS по маршрутам в таких фреймворках, как Next.js (извлечение CSS для каждой страницы), или используйте динамический импорт совместно с модулями CSS. Каждая страница загружает только собственные стили, поэтому анализ покрытия по страницам становится полезнее анализа всего приложения.

Измерение с помощью Lighthouse

Аудит Lighthouse «Сократить неиспользуемый CSS» оценивает потенциальную экономию байтов от удаления неиспользуемых правил. Он выявляет конкретные ресурсы таблиц стилей с высокой долей неиспользуемого содержимого. Используйте его как ориентир для определения файлов, которые следует проверить в первую очередь.

Учет динамических состояний

Анализ покрытия фиксирует только состояния, видимые во время записи. Состояния при наведении, открытые модальные окна, состояния ошибок и аутентифицированные состояния необходимо вручную активировать во время записи покрытия, чтобы не удалить их стили по ошибке.

Монолитный CSS и CSS по компонентам

Монолитные глобальные таблицы стилей со временем накапливают неиспользуемый CSS, поскольку функции удаляются. CSS для отдельных компонентов (CSS Modules, Styled Components, служебные классы Tailwind) проще очищать: стили находятся рядом со своими компонентами и удаляются вместе с ними.

Аудит устаревших кодовых баз

Для больших устаревших файлов CSS сначала используйте UnCSS или PurgeCSS в режиме только отчёта. Отсортируйте правила по частоте использования. Извлеките и удалите явно неиспользуемые стили сторонних плагинов. Работайте постепенно, чтобы случайно не удалить стили для редких пограничных состояний.

Проверка знаний

Что измеряет панель покрытия Chrome DevTools?

Итоги

Анализ покрытия CSS с помощью панели покрытия DevTools и Lighthouse выявляет неиспользуемые правила. PurgeCSS и JIT Tailwind автоматизируют удаление неиспользуемого кода. CSS Modules и разделение по маршрутам предотвращают накопление неиспользуемых стилей. Вместе они уменьшают объём CSS и время разбора.

Часто задаваемые вопросы

Урок «Покрытие CSS и неиспользуемые стили» бесплатный?

Да — полный текст урока «Покрытие CSS и неиспользуемые стили» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CSS Academy, подпишись на CoddyKit PRO. Курс CSS Academy содержит 4 уроков всего.

Чему я научусь в уроке «Покрытие CSS и неиспользуемые стили»?

Находите и удаляйте неиспользуемый CSS с помощью панели Coverage в DevTools и инструментов удаления неиспользуемого кода, таких как PurgeCSS. Ты практикуешь CSS Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать CSS Academy?

Предыдущий опыт не требуется. CSS Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Покрытие CSS и неиспользуемые стили»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке CSS Academy?

Да. Каждый урок CSS Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Критический CSS и блокировка отрисовки
  2. Компоновка, рисование и композиция: конвейер отрисовки
  3. will-change и продвижение на слои
  4. Покрытие CSS и неиспользуемые стили
← Назад к CSS Academy