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

Конвертер объектов CSS в JS

Преобразуйте объявления CSS в объект встроенного стиля React/JS и обратно.

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

Конвертер объектов CSS в JS

Вставьте блок объявлений CSS и получите обратно объект стиля JavaScript, готовый для размещения в свойстве стиля компонента React или Preact. Каждое свойство kebab-case становится CamelCase — фоновый цвет превращается в фоновый цвет, а шрифт — в FontSize — и все это печатается как действительный литерал объекта с отступом в два пробела. Вы можете вставить простые объявления или полное правило с селектором и фигурными скобками; селектор упаковки удален, поэтому копирование правила прямо из DevTools вполне работает.

Преобразователь работает в обе стороны. Переключите направление на объект JS → CSS и объект стиля снова превратится в обычный prop: value; строки, снова расставлены дефисы в CamelCase и удалены кавычки. Это позволяет легко переместить стиль из компонента в таблицу стилей или проверить, как на самом деле отображается набор встроенных стилей. Пользовательские свойства, такие как --brand-color, сохраняют ведущие дефисы и остаются в кавычках, поскольку они не являются допустимыми идентификаторами, а префиксы поставщиков обрабатываются так, как этого ожидает React: -webkit-box-shadow становится WebkitBoxShadow, а префиксы -ms- используют строчную форму msFlex.

По умолчанию каждое значение выдается в виде строки, что является безопасным выбором — оно сохраняет единицы измерения, цвета и такие вещи, как line-height: 1.5, без изменений. Включите «Безразмерные значения как числа», и вместо этого чистые числа, такие как z-индекс или непрозрачность, записываются как числа, что соответствует тому, как вы обычно вводите их вручную. Вы также можете выбрать одинарные или двойные кавычки в соответствии с форматером вашего проекта.

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

FAQ

Обрабатывает ли он полное правило CSS с помощью селектора?
Да. Вставьте `.button { цвет: красный; отступ: 8 пикселей; }`, а селектор и фигурные скобки удаляются, остается только объект стиля. Голые объявления без фигурных скобок тоже работают.
Почему мои цифры заключены в кавычки?
По умолчанию каждое значение представляет собой строку, поэтому единицы и ведущие нули сохраняются. Включите «Безразмерные значения в виде чисел», и вместо этого в виде чисел будут выдаваться чистые числа, такие как z-index: 10 или непрозрачность: 0,5.
Как преобразуются префиксы поставщиков и пользовательские свойства?
Префиксы поставщиков соответствуют соглашению React: -webkit-transition становится WebkitTransition, а в префиксах -ms- используется строчная буква ms. Пользовательские свойства, такие как --brand-color, сохраняют свои дефисы и остаются в кавычках как действительные ключи объекта.
Может ли он преобразовать объект стиля JS обратно в CSS?
Да. Переключите направление на объект JS → CSS. Ключи CamelCase пишутся через дефис, строковые кавычки удаляются, а каждое свойство записывается как обычное свойство: значение; линия.
Загружен ли мой CSS где-нибудь?
Нет. Преобразование выполняется полностью в вашем браузере без какой-либо обработки на сервере, поэтому стили из частного или внутреннего проекта никогда не покидают ваше устройство.