Проверяем CSS на лишние селекторы
Онлайн инструмент проанализирует какие CSS селекторы используются, а какие можно безопасно удалить. Загрузите ваш HTML, CSS и JavaScript код в соответствующие поля, результат будет быстро предоставлен.
Загрузка файлов
HTML Код HTML
CSS Код CSS
JavaScript Код JS
Как работает анализ
Извлечение селекторов из HTML
Инструмент анализирует HTML код и извлекает:
- Классы
(class="my-class")→.my-class - ID
(id="my-id")→#my-id - Теги
(<div>, <p>, и т.д.) - Атрибуты data-* →
[data-attribute]
Извлечение селекторов из JavaScript
Анализирует JS код для поиска динамического использования:
// Эти вызовы будут распознаны:
document.querySelector('.my-class');
document.getElementById('my-id');
element.classList.add('new-class');
// И работа с CSS переменными:
element.style.setProperty('--my-var', 'red');
Анализ CSS переменных (Custom Properties)
Особое внимание уделяется CSS переменным:
/* Объявление переменных */
:root {
--primary-color: #3498db;
--spacing: 1rem;
}
/* Использование переменных */
.button {
background: var(--primary-color);
padding: var(--spacing);
}
Детальный разбор возможностей
| Тип селектора | Как распознаётся | Пример | Статус |
|---|---|---|---|
| Простой класс | class="my-class" | .my-class { } | Полная поддержка |
| ID селектор | id="my-id" | #my-id { } | Полная поддержка |
| Теги | <div>, <p>, etc | div { } | Основные теги |
| Вложенные селекторы | .parent .child | .parent .child { } | Частичная |
| Псевдоклассы | :hover, :focus | a:hover { } | Ограниченная |
| Атрибутные селекторы | [data-test], input[type="text"] | [data-test] { } | Базовые |
| CSS переменные | --my-var | var(--my-var) | Полная поддержка |
| Медиа-запросы | @media (max-width: 768px) | @media { .class { } } | Сохраняются |
Ограничения и предостережения
Неформатированный CSS
Форматируйте свой CSS перед добавлением.
Динамически генерируемые селекторы
Если селектор генерируется динамически в JavaScript, он не будет распознан:
// НЕ БУДЕТ распознано: const className = 'dynamic-' + Math.random(); element.className = className;
Внешние скрипты и iframe
Селекторы, используемые во внешних скриптах или внутри iframe, не анализируются.
Сторонние библиотеки
CSS классы, которые добавляются сторонними библиотеками (jQuery UI, Bootstrap JS компоненты), могут быть пропущены.
Серверный рендеринг
Классы, добавляемые на сервере (SSR), не будут обнаружены в предоставленном HTML.
Часто задаваемые вопросы (FAQ)
Это может происходить по нескольким причинам:
- Селектор используется динамически в JavaScript
- Сложный селектор с псевдоклассами или комбинаторами
- Селектор используется во внешнем файле
- Ошибка в регулярных выражениях анализатора
Решение: Всегда проверяйте такие правила вручную.
Инструмент сохраняет медиа-запросы целиком, даже если внутри есть неиспользуемые правила. Это сделано намеренно, так как:
- Медиа-запросы могут активироваться при определенных условиях
- Удаление отдельных правил из @media может нарушить структуру
- Лучше удалять весь медиа-запрос, если он точно не нужен
Блок :root { } (или :host { }) сохраняется, если:
- Хотя бы одна переменная из блока используется
- Или сам селектор :root/:host используется в коде
Если в блоке есть неиспользуемые переменные, они остаются в блоке. Вы можете вручную удалить их позже.
- Объедините все CSS файлы в один (скопируйте содержимое друг за другом)
- Сделайте то же самое с JS файлами
- Для HTML - используйте основной файл или объедините несколько
- Альтернативно, загружайте файлы по одному и копируйте результаты
Ещё инструменты
Версия: 20.01.26 | Просмотров: 77

