UTILS.
100% nel browser
💅

Da CSS a oggetto style JS

Converti un blocco di dichiarazioni CSS in un oggetto style JavaScript per stili inline React, styled-components o Emotion, con proprietà in camelCase.

— l'output appare qui —

Informazioni su questo strumento

Lo strumento Da CSS a oggetto style JS converte un blocco di CSS in un oggetto JavaScript adatto agli stili inline React o a librerie CSS-in-JS come styled-components ed Emotion. Analizza le dichiarazioni localmente nel tuo browser — nulla viene caricato — così migrare un foglio di stile a stili inline è a un incolla-e-copia di distanza.

Ogni nome di proprietà viene reso in camelCase: background-color diventa backgroundColor, z-index diventa zIndex. I prefissi vendor seguono le regole di React — un -ms- iniziale diventa minuscolo ms (msFilter), mentre -webkit-, -moz- e -o- diventano maiuscoli Webkit, Moz e O (WebkitBoxShadow). Le custom property (--brand-color) vengono mantenute verbatim come chiavi virgolettate. I valori vengono emessi come stringhe per impostazione predefinita, preservando unità e !important; un interruttore numerico permette agli interi e decimali nudi di diventare numeri senza virgolette. Le chiavi che sono identificatori JavaScript validi vengono lasciate senza virgolette; le altre vengono virgolettate automaticamente.

Quando l'input è un semplice blocco di dichiarazioni (senza selettori) produce un unico oggetto piatto, perfetto per una prop style di React. Quando l'input contiene regole complete con selettori, la modalità styled/Emotion emette un oggetto annidato indicizzato per ogni stringa di selettore — la sintassi a oggetto che quelle librerie accettano. Controlli il nome della const di output, e il tutto viene scritto come const styles = { ... }; pronto da incollare.

Domande frequenti

Come vengono trasformati i nomi delle proprietà?
Le proprietà con trattino vengono rese in camelCase (background-color in backgroundColor). I prefissi vendor seguono React: -ms- diventa un prefisso ms minuscolo, mentre -webkit-, -moz- e -o- diventano Webkit, Moz e O. Le custom property come --foo vengono mantenute come chiavi virgolettate.
I valori sono numeri o stringhe?
Per impostazione predefinita ogni valore è una stringa, che è sempre sicuro e mantiene intatte unità e !important. Abilita l'interruttore numerico e i valori puramente numerici (come z-index: 10) vengono emessi come numeri senza virgolette.
Qual è la differenza tra le due modalità?
La modalità inline React emette un unico oggetto piatto da un blocco di dichiarazioni. La modalità styled / Emotion emette un oggetto annidato indicizzato per stringhe di selettore, corrispondente alla sintassi a oggetto che styled-components ed Emotion accettano per regole multiple.
Gestisce regole CSS complete con selettori?
Sì. Se l'input contiene selettori e parentesi graffe, ogni regola viene analizzata nel proprio oggetto annidato sotto la chiave del selettore. Un semplice elenco di dichiarazioni senza selettori produce un unico oggetto style piatto.

Altri strumenti