UTILS.
기본부터 지키는 개인정보
💅

CSS를 JS 스타일 객체로 변환

CSS 선언 블록을 React 인라인 스타일, styled-components, Emotion용 JavaScript 스타일 객체로 변환합니다. 속성을 camelCase로 만듭니다.

파일은 이 기기에만 남습니다

파일은 브라우저에서 처리되며 업로드되지 않습니다. 사이트는 도구 실행에 필요한 코드와 리소스를 다운로드합니다. 계정이나 추적은 없습니다.

다운로드를 눌러 이 도구를 하나의 HTML 파일로 저장하고 오프라인으로 사용하세요.

개인정보 →
— 여기에 결과가 표시됩니다 —

이 도구에 대하여

CSS를 JS 스타일 객체로 변환 도구는 CSS 블록을 React 인라인 스타일이나 styled-components, Emotion 같은 CSS-in-JS 라이브러리에 적합한 JavaScript 객체로 변환합니다. 선언을 브라우저에서 로컬로 파싱하며 아무것도 업로드하지 않으므로, 스타일시트를 인라인 스타일로 옮기는 것은 붙여넣고 복사하기만 하면 됩니다.

각 속성 이름은 camelCase 됩니다. background-color는 backgroundColor, z-index는 zIndex가 됩니다. 벤더 접두사는 React의 규칙을 따릅니다. 선두의 -ms-는 소문자 ms(msFilter)가 되고, -webkit-, -moz-, -o-는 대문자로 Webkit, Moz, O(WebkitBoxShadow)가 됩니다. 커스텀 속성(--brand-color)은 인용된 키로 그대로 유지됩니다. 값은 기본적으로 문자열로 출력되어 단위와 !important를 보존하며, 숫자 토글을 켜면 순수 정수와 소수가 인용 없는 숫자가 됩니다. 유효한 JavaScript 식별자인 키는 인용 없이 남고 나머지는 자동으로 인용됩니다.

입력이 순수 선언 블록(셀렉터 없음)이면 하나의 평면 객체를 만들며, 이는 React style prop에 완벽합니다. 입력이 셀렉터가 있는 전체 규칙을 포함하면 styled/Emotion 모드가 각 셀렉터 문자열을 키로 하는 중첩 객체(그 라이브러리들이 받아들이는 객체 구문)를 출력합니다. 출력 const 이름을 제어할 수 있으며, 전체는 const styles = { ... };로 작성되어 붙여넣을 준비가 됩니다.

자주 묻는 질문

속성 이름은 어떻게 변환되나요?
하이픈이 있는 속성은 camelCase 됩니다(background-color는 backgroundColor). 벤더 접두사는 React를 따릅니다. -ms-는 소문자 ms 접두사가 되고, -webkit-, -moz-, -o-는 Webkit, Moz, O가 됩니다. --foo 같은 커스텀 속성은 인용된 키로 유지됩니다.
값은 숫자인가요, 문자열인가요?
기본적으로 모든 값은 문자열이며, 이는 항상 안전하고 단위와 !important를 그대로 유지합니다. 숫자 토글을 켜면 순수하게 숫자인 값(z-index: 10 등)이 인용 없는 숫자로 출력됩니다.
두 모드의 차이는 무엇인가요?
React 인라인 모드는 선언 블록에서 하나의 평면 객체를 출력합니다. Styled / Emotion 모드는 셀렉터 문자열을 키로 하는 중첩 객체를 출력하며, 이는 여러 규칙에 대해 styled-components와 Emotion이 받아들이는 객체 구문과 일치합니다.
셀렉터가 있는 전체 CSS 규칙도 처리하나요?
네. 입력에 셀렉터와 중괄호가 있으면 각 규칙이 셀렉터 키 아래의 자체 중첩 객체로 파싱됩니다. 셀렉터 없는 순수 선언 목록은 하나의 평면 스타일 객체를 만듭니다.

더 많은 도구