UTILS.
100% w przeglądarce
💅

CSS na obiekt stylów JS

Konwertuj blok deklaracji CSS w obiekt stylów JavaScript dla stylów inline React, styled-components lub Emotion, z właściwościami w camelCase.

— wynik pojawi się tutaj —

O tym narzędziu

Narzędzie CSS na obiekt stylów JS konwertuje blok CSS w obiekt JavaScript odpowiedni dla stylów inline React lub bibliotek CSS-in-JS, takich jak styled-components i Emotion. Parsuje deklaracje lokalnie w Twojej przeglądarce — nic nie jest przesyłane — więc migracja arkusza stylów do stylów inline to kwestia wklejenia i skopiowania.

Każda nazwa właściwości jest zamieniana na camelCase: background-color staje się backgroundColor, z-index staje się zIndex. Prefiksy producentów podążają za regułami React — wiodące -ms- przechodzi na małe ms (msFilter), podczas gdy -webkit-, -moz- i -o- przechodzą na wielką literę Webkit, Moz i O (WebkitBoxShadow). Właściwości niestandardowe (--brand-color) są zachowywane dosłownie jako klucze w cudzysłowie. Wartości są domyślnie emitowane jako łańcuchy, zachowując jednostki i !important; przełącznik numeryczny pozwala gołym liczbom całkowitym i dziesiętnym stać się liczbami bez cudzysłowów. Klucze będące prawidłowymi identyfikatorami JavaScript pozostają bez cudzysłowów; reszta jest ujmowana w cudzysłów automatycznie.

Gdy wejściem jest zwykły blok deklaracji (bez selektorów), tworzy jeden płaski obiekt, idealny do propa style React. Gdy wejście zawiera pełne reguły z selektorami, tryb styled/Emotion emituje zagnieżdżony obiekt kluczowany każdym łańcuchem selektora — składnia obiektu, którą te biblioteki akceptują. Kontrolujesz nazwę const wyjścia, a całość jest zapisywana jako const styles = { ... }; gotowa do wklejenia.

Najczęściej zadawane pytania

Jak przekształcane są nazwy właściwości?
Właściwości z myślnikiem są zamieniane na camelCase (background-color na backgroundColor). Prefiksy producentów podążają za React: -ms- staje się prefiksem ms małą literą, podczas gdy -webkit-, -moz- i -o- stają się Webkit, Moz i O. Właściwości niestandardowe jak --foo są zachowywane jako klucze w cudzysłowie.
Czy wartości to liczby czy łańcuchy?
Domyślnie każda wartość jest łańcuchem, co jest zawsze bezpieczne i zachowuje jednostki oraz !important nienaruszone. Włącz przełącznik numeryczny, a wartości czysto numeryczne (jak z-index: 10) są emitowane jako liczby bez cudzysłowów.
Jaka jest różnica między dwoma trybami?
Tryb inline React emituje pojedynczy płaski obiekt z bloku deklaracji. Tryb styled / Emotion emituje zagnieżdżony obiekt kluczowany łańcuchami selektorów, pasujący do składni obiektu, którą styled-components i Emotion akceptują dla wielu reguł.
Czy obsługuje pełne reguły CSS z selektorami?
Tak. Jeśli wejście zawiera selektory i nawiasy klamrowe, każda reguła jest parsowana we własny zagnieżdżony obiekt pod kluczem selektora. Goła lista deklaracji bez selektorów tworzy jeden płaski obiekt stylów.

Więcej narzędzi