~ / developer / css-clamp-generator

🔠 CSS clamp() 계산기

화면 폭 구간과 글자·여백 크기 구간을 넣으면 clamp(최소, 선호값, 최대) 코드를 만들고 폭별 실제 크기를 보여 줘요. 반응형 글자 크기를 한 줄로 만들어요.

input
px
px
px
px
출력 단위
px
result
CSS
-

가나다 Aa — 이 글자가 폭에 따라 커져요

광고

사용법

  1. 최소 크기·최대 크기에 글자(또는 여백) 크기를 px로 넣어요. 예를 들어 본문이 작은 화면에서 16px, 큰 화면에서 24px이면 16과 24예요.
  2. 최소·최대 화면 폭에 크기가 변하기 시작하는 폭과 멈추는 폭을 넣어요. 보통 휴대폰 폭 320~375px부터 데스크톱 폭 1280~1440px을 많이 써요.
  3. 단위는 rem을 권장해요. 사용자가 브라우저 글꼴 크기를 키웠을 때 같이 커져서 접근성에 유리해요. rem 기준 글자 크기는 보통 16px이에요.
  4. 위 큰 칸의 clamp(…) 코드를 copy 해서 font-size, padding, margin, gap 등에 붙여 넣어요. 아래 표에서 폭별 실제 크기를 확인하세요.

clamp()는 무엇인가요

clamp(최소값, 선호값, 최대값)은 선호값을 계산하되 그 결과가 최소값보다 작으면 최소값으로, 최대값보다 크면 최대값으로 고정하는 CSS 함수예요. 미디어 쿼리 없이도 글자가 화면 폭에 맞춰 부드럽게 커지는 유동 타이포그래피(fluid typography)를 한 줄로 만들 수 있어요. 선호값에 vw(화면 폭의 1%)를 쓰면 폭에 따라 값이 변하고, 최소·최대가 범위를 잡아 줘요.

선호값 계산 공식

화면 폭 x(px)에서 크기가 직선으로 변한다고 보면 크기 = 기울기 × x + 절편이에요.

항목공식16px(320px) → 24px(1280px)
기울기 s(최대크기 − 최소크기) ÷ (최대폭 − 최소폭)(24 − 16) ÷ (1280 − 320) = 0.008333
절편 b최소크기 − s × 최소폭16 − 0.008333 × 320 = 13.3333px (0.8333rem)
선호값b + (s × 100)vw0.8333rem + 0.8333vw
최종 코드clamp(최소, 선호값, 최대)clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem)

검산해 보면 화면 폭이 320px일 때 13.3333 + 0.008333 × 320 = 16px, 1280px일 때 13.3333 + 0.008333 × 1280 = 24px, 중간인 800px일 때는 20px이에요. 320px보다 좁거나 1280px보다 넓으면 clamp가 16px와 24px로 고정해요. 이 도구의 표가 이 값들을 그대로 보여 줘요.

왜 vw만 쓰지 않고 rem을 같이 더하나요

font-size: 2vw처럼 vw만 쓰면 사용자가 브라우저에서 글꼴 크기를 키우거나 화면을 확대해도 글자가 커지지 않을 수 있어서 접근성에 불리해요. 선호값을 rem + vw 조합으로 만들면 rem 부분이 사용자 설정에 반응해요. 그래서 이 도구는 절편을 rem으로, 기울기를 vw로 내보내요. 다만 vw 부분은 여전히 화면 폭에만 반응하므로, 최소·최대 차이를 너무 크게 잡지 말고 브라우저 확대(200%)에서 글자가 충분히 커지는지 직접 확인하세요.

자주 쓰는 설정 예시

용도최소 → 최대 (폭 320 → 1280)코드
본문16px → 18pxclamp(1rem, 0.9583rem + 0.2083vw, 1.125rem)
제목(h2)24px → 40pxclamp(1.5rem, 1.1667rem + 1.6667vw, 2.5rem)
여백(padding)16px → 48pxclamp(1rem, 0.3333rem + 3.3333vw, 3rem)

표의 코드는 이 도구와 같은 식으로 계산한 값이에요. 본문처럼 변화 폭이 작은 요소는 clamp 없이 고정값으로 두어도 충분하고, 제목처럼 화면에 따라 인상이 크게 달라지는 요소에 쓰면 효과가 커요.

clamp() 쓸 때 주의할 점

단위 변환이 필요하면 px·rem 변환기, 글자색과 배경색의 대비는 색상 대비 검사기에서 확인할 수 있어요. clamp() 문법은 MDN의 CSS clamp() 문서에 정리돼 있어요.

자주 묻는 질문

clamp()와 미디어 쿼리 중 뭐가 낫나요?
목적이 달라요. clamp()는 크기를 폭에 따라 연속적으로 바꾸는 데 좋고, 미디어 쿼리는 레이아웃을 통째로 바꿀 때 좋아요. 보통 두 가지를 같이 써요.
rem과 px 중 무엇으로 출력하나요?
글자 크기는 rem을 권장해요. 사용자가 브라우저 기본 글꼴 크기를 바꾸면 rem으로 쓴 값이 같이 따라 바뀌어서 접근성에 유리해요. px는 고정 크기가 필요한 경우에 써요.
기울기에 100을 곱하는 이유는요?
vw는 화면 폭의 1%라서 폭 1px당 변화량(기울기)에 100을 곱해야 vw 값이 돼요. 기울기 0.008333이면 0.8333vw예요.
여백이나 너비에도 쓸 수 있나요?
네, 길이를 받는 속성이면 모두 가능해요. padding, margin, gap, width, border-radius 등에 같은 방식으로 붙여 넣으면 돼요.
큰 화면에서 오히려 작아지게도 할 수 있나요?
최소 크기와 최대 크기를 반대로 넣으면 기울기가 음수가 돼서 폭이 넓을수록 작아지는 코드가 나와요. 이때도 두 값 중 작은 쪽이 clamp의 최소값으로 들어가요.

이 도구와 함께 보면 좋은 글

관련 도구

더 둘러보기

💻 개발자 다른 도구

🔥 많이 찾는 도구

🔮 재미로 한 번 더

📝 읽어 볼 만한 글

글 전체 보기 →