Конвертер пользовательских свойств CSS в переменные SCSS
Преобразуйте пользовательские свойства CSS (--name, var()) в переменные Sass/SCSS ($name) и наоборот. Разворачивает :root в глобальную область Sass, разрешает fallback var() и сохраняет комментарии и структуру.
Ввод
Вывод
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/css-custom-properties-to-scss-converter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"direction": "css-to-scss",
"inputCode": ":root {\n --primary-color: #464aff;\n --spacing-…"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `css-custom-properties-to-scss-converter` tool (CSS Custom Properties to SCSS Variables Converter) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/css-custom-properties-to-scss-converter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Конвертер пользовательских свойств CSS в переменные SCSS — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|---|
| Нужно больше кредитов? | Посмотреть тарифы |
Также доступно через
Руководства
Что делает этот инструмент
Вставьте CSS, использующий пользовательские свойства (--primary-color: #464aff;, на которые ссылаются через var(--primary-color)), и получите эквивалентный Sass с объявлениями $primary-color: #464aff; и ссылками $primary-color — или запустите в обратном направлении, из SCSS на основе $variable обратно в простые пользовательские свойства CSS. Выберите направление, вставьте код, и преобразованный код появится мгновенно. Всё работает в вашем браузере; ничего из того, что вы вставляете, не загружается никуда.
CSS → SCSS
- Обёртка
:root { ... }разворачивается: её объявления переходят в глобальную область Sass, поскольку переменная Sass не может находиться внутри селектора так же, как пользовательское свойство CSS. var(--name)становится$name, когда--nameобъявлен в этом блоке:root.var(--name, fallback)разрешает fallback для вас, когда--nameне имеет объявления, на которое можно ссылаться — включая fallback, который сам по себе является вложеннымvar().- Комментарии, селекторы и форматирование за пределами конвертируемых частей остаются ровно такими, как вы их написали.
SCSS → CSS
$name: value;, объявленный на верхнем уровне, переходит в сгенерированный блок:root { ... }, поскольку простое пользовательское свойство не может существовать вне селектора в CSS.$name: value;, объявленный внутри селектора, конвертируется на месте в--name: value;, сохраняя его область видимости.- Каждая ссылка
$nameстановитсяvar(--name). Завершающий!defaultотбрасывается — его поведение "присвоить только если не установлено" не имеет статического эквивалента в CSS.
Что это не будет делать
Это конвертер синтаксиса переменных, а не компилятор Sass. Миксины, @if/@each, @function, интерполяция строк (#{...}) и математика Sass не оцениваются — значение вроде $base * 2 становится var(--base) * 2 как простой текст, который вам нужно будет обернуть в calc() вручную, чтобы получить действительный CSS. --name, объявленный внутри условного селектора (переопределение [data-theme="dark"], коррекция точки разрыва @media), оставляется как есть, а не конвертируется, поскольку переменная Sass времени компиляции не может представить значение, которое меняется для каждого media query или каскада.
FAQ
Будет ли это компилировать весь мой файл Sass в CSS?
Нет — переводятся только объявления переменных и ссылки. Вложение, &, миксины и всё остальное проходит без изменений. Запустите результат через настоящий компилятор Sass (или Форматер SCSS / Sass для приведения вывода в порядок) для чего-либо, кроме переменных.
Что происходит со значениями fallback var() при преобразовании в SCSS?
Если на указанное пользовательское свойство ссылается где-то ещё в вашем вводе, fallback отбрасывается — переменная Sass уже имеет реальное значение. Если оно нигде не объявлено, сам fallback используется вместо него, поэтому преобразованный код не ссылается на неопределённую переменную.
Обрабатывает ли он переменные CSS с областью видимости вне :root, такие как переопределения тёмного режима?
Нет, по замыслу — --name, переобъявленный под media query или селектор [data-theme], является переопределением во время выполнения, которое не имеет эквивалента в переменных времени компиляции Sass, поэтому эти объявления остаются как простой CSS, а не молча создают неправильный снимок.
Конфиденциальность
Всё работает локально в вашем браузере. Ваш код никогда не загружается и не сохраняется нигде.