UTILS.
100 % dans le navigateur
💅

CSS vers objet de style JS

Convertissez un bloc de déclarations CSS en objet de style JavaScript pour les styles en ligne React, styled-components ou Emotion, avec des propriétés en camelCase.

— la sortie apparaît ici —

À propos de cet outil

L'outil CSS vers objet de style JS convertit un bloc de CSS en un objet JavaScript adapté aux styles en ligne React ou aux bibliothèques CSS-in-JS comme styled-components et Emotion. Il analyse les déclarations localement dans votre navigateur — rien n'est téléversé — de sorte que migrer une feuille de style vers des styles en ligne se fait en un copier-coller.

Chaque nom de propriété est mis en camelCase : background-color devient backgroundColor, z-index devient zIndex. Les préfixes vendeur suivent les règles de React — un -ms- initial est mis en minuscule en ms (msFilter), tandis que -webkit-, -moz- et -o- prennent une majuscule en Webkit, Moz et O (WebkitBoxShadow). Les propriétés personnalisées (--brand-color) sont conservées textuellement comme clés entre guillemets. Les valeurs sont émises en chaînes par défaut, préservant les unités et !important ; une bascule numérique laisse les entiers et décimales nus devenir des nombres sans guillemets. Les clés qui sont des identifiants JavaScript valides sont laissées sans guillemets ; les autres sont mises entre guillemets automatiquement.

Quand l'entrée est un bloc de déclarations simple (sans sélecteurs), il produit un objet plat unique, parfait pour une prop style React. Quand l'entrée contient des règles complètes avec sélecteurs, le mode styled/Emotion émet un objet imbriqué indexé par chaque chaîne de sélecteur — la syntaxe d'objet que ces bibliothèques acceptent. Vous contrôlez le nom du const de sortie, et le tout est écrit sous const styles = { ... }; prêt à coller.

Foire aux questions

Comment les noms de propriétés sont-ils transformés ?
Les propriétés à trait d'union sont mises en camelCase (background-color vers backgroundColor). Les préfixes vendeur suivent React : -ms- devient un préfixe ms en minuscule, tandis que -webkit-, -moz- et -o- deviennent Webkit, Moz et O. Les propriétés personnalisées comme --foo sont conservées en clés entre guillemets.
Les valeurs sont-elles des nombres ou des chaînes ?
Par défaut, chaque valeur est une chaîne, ce qui est toujours sûr et conserve les unités et !important intacts. Activez la bascule numérique et les valeurs purement numériques (comme z-index: 10) sont émises en nombres sans guillemets à la place.
Quelle est la différence entre les deux modes ?
Le mode en ligne React émet un objet plat unique à partir d'un bloc de déclarations. Le mode styled / Emotion émet un objet imbriqué indexé par chaînes de sélecteur, correspondant à la syntaxe d'objet que styled-components et Emotion acceptent pour plusieurs règles.
Gère-t-il les règles CSS complètes avec sélecteurs ?
Oui. Si l'entrée contient des sélecteurs et des accolades, chaque règle est analysée dans son propre objet imbriqué sous la clé du sélecteur. Une liste de déclarations nue sans sélecteurs produit un objet de style plat unique.

Plus d'outils