Developer Design Utility

CSS Clamp 생성기

최소 크기, 최대 크기, 뷰포트 범위를 입력해 반응형 font-size, padding, margin, gap 등에 사용할 CSS clamp() 값을 생성할 수 있습니다.

Fluid CSS 계산 모바일 최소값과 데스크톱 최대값 사이에서 자연스럽게 변하는 clamp() 값을 생성합니다.
실시간 미리보기 현재 화면 너비 기준 예상 px 값과 적용 결과를 함께 확인할 수 있습니다.
복사 가능한 CSS 선택자, 속성, CSS 변수 옵션을 포함한 실사용 코드를 바로 복사할 수 있습니다.
STEP 1

Clamp 값 입력

값을 입력하고 생성 버튼을 누르세요. 처음 생성한 뒤에는 입력과 옵션을 바꾸면 결과가 자동으로 갱신됩니다.

rem 출력은 1rem = 16px로 환산합니다. 적용할 사이트의 루트 글꼴 크기가 다르면 실제 크기도 달라집니다.

STEP 2

미리보기

현재 화면에서 생성된 CSS를 적용합니다. 계산값은 반올림된 출력 계수와 이 페이지의 루트 글꼴 크기를 기준으로 하며, width는 콘텐츠 너비입니다. 큰 값은 미리보기 안에서 스크롤해 확인하세요.

대기 중
Live Preview Responsive CSS Clamp

화면 크기에 따라 자연스럽게 변하는 반응형 CSS 값을 확인해보세요.

CSS를 생성하면 미리보기와 계산값이 표시됩니다.

현재 뷰포트: - 현재 CSS 계산값: - 적용 범위: -
STEP 3

생성 결과

계산된 clamp() 값과 CSS 코드를 확인할 수 있습니다.

값을 입력한 뒤 Clamp 생성하기 버튼을 눌러주세요.
STEP 4

추천 사용 예시

clamp()는 반응형 UI에서 크기 변화가 필요한 요소에 특히 유용합니다.

Hero 제목 모바일에서는 작게, 데스크톱에서는 크게 보이는 랜딩페이지 제목
카드 Padding 화면 크기에 따라 자연스럽게 넓어지는 카드 내부 여백
Grid Gap 모바일과 PC 레이아웃 사이의 간격을 부드럽게 조정
Border Radius 큰 화면에서는 더 부드러운 카드형 UI를 만들 때 활용
사용 가이드

CSS clamp()를 설계값에 맞게 만드는 법

모바일 최소값과 데스크톱 최대값 사이를 선형 보간해 유동적인 CSS 값을 만드는 방법을 설명합니다. 생성된 코드는 복사로 끝내지 말고 실제 중간 화면과 접근성 설정에서 검증해야 합니다.

이런 분께 유용합니다

  • 반응형 제목과 본문 크기를 설계하는 프런트엔드 개발자
  • 모바일·데스크톱 사이의 여백을 자연스럽게 연결하려는 디자이너
  • clamp()의 선호값 공식을 직접 계산하지 않고 확인하려는 사용자

대표 활용 상황

  • 360px 화면의 32px 제목을 1440px 화면에서 64px까지 키울 때
  • 섹션 좌우 padding을 화면 너비에 따라 20px에서 80px로 조정할 때
  • 디자인 시스템에서 공통 fluid spacing 토큰을 만들 때

처음부터 결과 확인까지

  1. 1

    작은 화면에서 유지할 최소 크기와 큰 화면에서의 최대 크기를 정합니다.

  2. 2

    값이 변하기 시작하고 끝날 최소·최대 뷰포트 너비를 입력합니다.

  3. 3

    font-size, padding, gap 등 적용할 속성과 선택자를 선택합니다.

  4. 4

    rem 또는 px 출력과 CSS 변수 생성 여부를 프로젝트 규칙에 맞춥니다.

  5. 5

    생성 버튼을 누른 뒤 출력 코드와 현재 CSS 계산값을 비교합니다. 이후 입력 변경은 자동 반영되며 오류가 나면 기존 결과와 복사가 해제됩니다.

  6. 6

    최소·중간·최대 화면과 브라우저 확대 상태에서 실제 레이아웃을 테스트합니다.

사용 예시 1

유동형 Hero 제목

입력
최소 32px / 최대 64px / 뷰포트 360~1440px / rem 출력
결과
clamp(2rem, 2.963vw + 1.3333rem, 4rem)

루트 글꼴 16px 기준으로 360px 화면에서 약 32px, 900px에서 약 48px, 1440px에서 64px입니다. 출력 계수를 소수 넷째 자리로 반올림하므로 경계에서 미세한 오차가 생길 수 있습니다.

사용 예시 2

카드 내부 여백

입력
최소 16px / 최대 32px / 뷰포트 375~1200px / padding / rem 출력
결과
padding: clamp(1rem, 1.9394vw + 0.5455rem, 2rem);

루트 글꼴 16px 기준으로 375px 화면에서 약 16px, 787.5px에서 약 24px, 1200px에서 32px입니다. 속성이 padding이면 네 방향에 모두 적용되므로 가로·세로 여백을 따로 정할 때는 해당 속성을 분리하세요.

사용 예시 3

소수 크기와 음수 절편

입력
최소 10.5px / 최대 30.5px / 뷰포트 400~800px / px 출력
결과
clamp(10.5px, 5vw - 9.5px, 30.5px)

400px에서 10.5px, 600px에서 20.5px, 800px에서 30.5px입니다. 절편이 음수여도 최종 크기는 최소값 아래로 내려가지 않습니다. 300px에서는 10.5px, 1000px에서는 30.5px로 제한됩니다.

계산·처리 기준

최소·최대 크기의 차이를 최소·최대 뷰포트 차이로 나누어 기울기를 구하고 100을 곱해 vw 계수로 바꿉니다. 절편은 최소 크기에서 기울기×최소 뷰포트를 뺀 값입니다. 선호값은 기울기vw와 절편 px 또는 rem의 합으로 구성하고, 이를 clamp(최소값, 선호값, 최대값)에 넣습니다. rem 출력은 기준 16px로 환산하므로 프로젝트 루트 글꼴 크기가 다르면 결과를 조정해야 합니다.

알아둘 한계

  • rem 환산 기준은 16px로 고정입니다. 첫 번째 예시를 루트 글꼴 20px인 사이트에 적용하면 최소·최대는 40px·80px이며, 900px 화면의 값은 약 53.33px입니다. 뷰포트 경계도 달라지므로 프로젝트에서 다시 확인하세요. 이 페이지의 현재 CSS 계산값에는 현재 루트 글꼴과 반올림한 계수를 반영합니다.
  • 크기는 0 이상, 뷰포트는 1px 이상이고 각각 최대값이 최소값보다 커야 합니다. 소수는 허용하지만 같은 크기·역방향 감소는 이 생성기의 지원 범위가 아닙니다. 출력 숫자·계수는 절댓값 1,000,000 이하, 소수 넷째 자리까지로 제한하며 반올림으로 범위가 사라지는 입력은 거절합니다.
  • 미리보기는 font-size·line-height·padding·margin·gap·border-radius·width·letter-spacing에 적용합니다. 다른 유효한 길이 속성은 코드만 생성하고 미리보기 미지원임을 표시합니다. 선택자는 생성 코드에만 쓰며 이 페이지의 다른 요소를 바꾸지 않습니다. width 표시값은 콘텐츠 너비로 테두리·padding을 포함한 외곽 너비와 다릅니다.
  • 선택자·속성은 현재 브라우저가 지원하는 문법인지 확인합니다. 프로젝트의 CSS 변수 값, 상속·우선순위·다른 스타일과의 충돌까지 검증하지는 않습니다. 자동 복사가 막히면 결과 아래에 표시되는 코드를 직접 선택해 복사하세요.
  • 선형 변화가 모든 디자인 구간에 적합한 것은 아니므로 필요하면 미디어 쿼리와 함께 사용해야 합니다.
  • 너무 많은 속성에 서로 다른 유동값을 적용하면 레이아웃 예측과 유지보수가 어려워질 수 있습니다.
  • 폰트 크기는 최소값이 지나치게 작지 않은지, 확대와 사용자 글꼴 설정에서도 읽을 수 있는지 확인해야 합니다.
개인정보 처리

입력한 CSS 값과 생성 결과는 현재 브라우저에서만 계산하며 win-j 서버에 저장하지 않습니다.

자주 묻는 질문

clamp()는 font-size에만 사용할 수 있나요?

아닙니다. 길이 값을 받는 padding, margin, gap, width, border-radius 등에도 사용할 수 있습니다. 다만 속성별로 적절한 최소·최대값을 따로 검토하세요.

rem과 px 중 어떤 출력을 선택해야 하나요?

텍스트는 사용자 설정과 확대를 고려해 rem을 우선 검토하는 편이 좋습니다. 기존 디자인 시스템이 px 토큰을 사용한다면 프로젝트 규칙을 따르되 접근성 테스트를 함께 하세요.

최소·최대 뷰포트는 일반적인 값으로 고정해도 되나요?

프로젝트의 실제 콘텐츠가 깨지는 지점을 기준으로 정하는 것이 가장 좋습니다. 360px과 1200px 같은 값은 시작점일 뿐 모든 레이아웃의 정답은 아닙니다.