Перейти к содержанию

Экстрактор переменных цвета CSS

Найдите все цвета в вашем CSS и превратите их в переиспользуемые пользовательские свойства.

Входные данные
0
Выходные данные

Экстрактор переменных цвета CSS

Вставьте таблицу стилей, и этот инструмент просканирует каждое объявление на предмет значений цветов, записанных как hex, rgb()/rgba() или hsl()/hsla(), а затем перепишет правила, чтобы они ссылались на пользовательские свойства вместо повторения одного и того же значения везде. Он создан для очистки таблицы стилей, которая разрасталась органически — переделка, слияние библиотеки компонентов или CSS, извлеченный из инструмента дизайна — когда один и тот же синий оказывается написанным дюжину слегка отличающихся способов.

Опция наименования контролирует, как называется каждая переменная: по порядку первого появления (--color-1, --color-2…), по приблизительному оттенку и светлоте (--color-dark-blue, --color-light-gray) или по свойству, на котором она впервые появилась (--color-background, --color-border). Включите функцию «объединить одинаковые цвета, написанные по-разному», чтобы сложить #ff0000, rgb(255, 0, 0) и hsl(0, 100%, 50%) в одну переменную, даже если исходный текст отличается; одинаковые значения всегда объединяются независимо. Ползунок сходства идет дальше и объединяет оттенки, которые близки, но не идентичны — полезно, когда палитра накопила похожие серые или синие цвета, которые никто не собирался создавать. Выберите, находится ли созданный блок под :root или пользовательским селектором, выберите обозначение, в котором печатаются переменные, или переключитесь на простой список цветов и счетчиков появлений, когда вам просто нужен аудит, а не переписывание.

Сканер ищет только внутри фактических значений объявлений, поэтому он никогда не ошибочно принимает селектор ID типа #abcabc за цвет и оставляет комментарии, цитируемые строки и содержимое url() полностью нетронутыми. Оба окончания строк Windows и Unix работают, и инструмент не обманывается вложенными функциями, такими как цвет внутри списка градиентов.

Всё работает локально в вашем браузере — ваша таблица стилей никогда не загружается никуда, поэтому можно безопасно вставлять код из приватного проекта. Скопируйте результат, загрузите его как файл .txt или отправьте вывод обратно на вход, чтобы уточнить его другим проходом.

FAQ

Какие форматы цветов оно распознает?
Hex (#rgb, #rgba, #rrggbb, #rrggbbaa), rgb()/rgba() и hsl()/hsla(), в синтаксисе с запятыми и пробелами. Именованные цвета типа "red" не совпадают.
Что считается «одним и тем же цветом» для объединения?
Идентичные по байтам значения всегда объединяются. Включение опции эквивалентности также объединяет один и тот же цвет, написанный в другой нотации (hex против rgb против hsl). Ползунок сходства идет дальше и объединяет оттенки, которые просто близки, по среднему отличию каналов, которое вы контролируете.
Как выбираются новые имена переменных?
По порядку первого появления, по приблизительному оттенку и названию светлоты или по свойству CSS, на котором цвет был найден впервые — ваш выбор. Столкновение получает числовой суффикс.
Будет ли оно трогать цвета внутри комментариев, строк или url()?
Нет. Совпадают только цвета в фактических значениях объявлений — текст внутри комментариев, цитируемые строки и url(...) оставляются точно такие, какие они есть.
Мой CSS загружается куда-нибудь?
Нет. Извлечение работает полностью в вашем браузере — ваша таблица стилей никогда не покидает ваше устройство.