개발자
🎨 CSS 단위 변환기
px·rem·em 단위 변환부터 clamp() 생성, aspect-ratio 계산까지. CSS에서 자주 헷갈리는 값을 한곳에서 변환하고 바로 복사하세요.
| 단위 | 결과값 | CSS 선언 | |
|---|---|---|---|
| px | 24px | font-size: 24px; | |
| rem | 1.5rem | font-size: 1.5rem; | |
| em | 1.5em | font-size: 1.5em; | |
| % | 24% | font-size: 24%; | |
| vw | 1.6667vw | font-size: 1.6667vw; | |
| vh | 2.6667vh | font-size: 2.6667vh; |
CSS 단위 핵심 공식 참조표
rem vs em 완전 비교
clamp() 완전 가이드
clamp(최솟값, 선호값, 최댓값)은 뷰포트 크기에 따라 값을 부드럽게 변화시키면서도 안전한 상·하한을 보장합니다.
aspect-ratio vs padding-top trick
✨ 최신 방법 (aspect-ratio)
장점: 직관적, 코드 단순, 자식 배치 자유
단점: IE 미지원
🛡️ 구형 방법 (padding-top)
장점: 모든 브라우저 지원
단점: 코드 복잡, absolute 포지셔닝 필요
line-height unitless 권장 이유
unitless(단위 없는) line-height는 자식 요소에 상속될 때 자식의 font-size로 재계산됩니다. 반면 em·%는 계산된 px값이 그대로 상속되어 의도와 달라질 수 있습니다.
Figma → CSS 변환 치트시트
자주 묻는 질문 (FAQ)
Q1. rem과 em의 차이는 무엇인가요?
rem은 root 요소(html)의 font-size를 기준으로, em은 부모 요소의 font-size를 기준으로 합니다. 중첩된 컴포넌트에서 em은 누적 계산되어 예상과 다른 결과가 나올 수 있어 일관성이 필요한 경우 rem을 권장합니다.
Q2. line-height에 unitless가 권장되는 이유는?
line-height: 1.5처럼 단위 없는 값은 자식 요소에 상속될 때 자식의 font-size를 기준으로 재계산됩니다. 반면 em이나 %는 계산된 px값이 그대로 상속되어 자식의 font-size가 다를 때 의도와 다른 결과가 나올 수 있습니다.
Q3. clamp()에서 vw 단위만 쓰면 안 되나요?
font-size: 2vw처럼 vw만 쓰면 최솟값·최댓값 제한이 없어 매우 좁거나 넓은 화면에서 글자가 너무 작거나 커집니다. clamp(min, preferred, max)로 안전한 범위를 설정하는 것이 권장됩니다.
Q4. letter-spacing에 % 단위를 쓸 수 있나요?
CSS 명세상 letter-spacing은 % 단위를 공식 지원하지 않습니다. 실무에서는 em 단위를 권장합니다. 1em = font-size와 같은 크기이므로 font-size가 변경되어도 자간 비율이 자동으로 유지됩니다.
Q5. aspect-ratio와 padding-top 방식 중 어느 것을 써야 하나요?
IE를 지원하지 않는다면 aspect-ratio가 훨씬 직관적이고 권장됩니다. IE 지원이 필요하거나 레거시 코드를 다룬다면 padding-top 방식을 사용하세요. 이 계산기에서 두 방법의 코드를 모두 확인하고 복사할 수 있습니다.