반응형 설계 방법

clamp vs Media Query

DDODDO_LAB 2026. 3. 3. 10:20
반응형

반응형 설계에서 무엇을 써야 할까?

반응형 작업을 하다 보면 한 번쯤 고민하게 된다.

“이거 clamp로 처리할까?
아니면 미디어쿼리로 끊어야 할까?”

 

특히 1920 시안 기반으로 작업하면서
모바일 360, 태블릿 768, PC 1024 이상 대응해야 하는 프로젝트에서는
이 선택이 코드 구조를 완전히 바꿔버린다.

오늘은 실무 기준으로 딱 정리해보자.

 

 

 

1, clamp()는 무엇인가?

/* CSS */

font-size: clamp(16px, 1vw, 24px);

 

구조는 단순하다.

코딩:
clamp(최소값, 선호값, 최대값)

 

뷰포트에 따라 값이 부드럽게 변화한다.

✔ 브레이크포인트 없이
✔ 단계 없이
✔ 자연스럽게 스케일링


2. Media Query는 무엇인가?

/* CSS */

font-size: 16px;

@media (min-width: 768px) {
  font-size: 20px;
}

@media (min-width: 1024px) {
  font-size: 24px;
}

 

화면 크기에 따라 단계적으로 값이 바뀐다.

✔ 명확한 구간 구분
✔ 레이아웃 변경에 강함
✔ 전통적인 반응형 방식


3. 핵심 차이점 비교

구분 clamp() media Query
변화 방식 연속적(부드러움) 단계적(점프)
코드량 적음 많음
레이아웃 변경 ❌ 부적합 ✅ 적합
폰트/간격 조정 ✅ 최적 가능
구조 변경
유지보수 토큰화하면 좋음 구간 많으면 복잡

4. 언제 clamp를 써야 할까?

✔ 이런 경우는 clamp

  • 폰트 크기
  • 카드 padding
  • 버튼 내부 여백
  • 아이콘 크기
  • 제목 스케일

즉,

"구조는 그대로 두고 크기만 자연스럽게 조정"

 

이게 clamp의 영역이다.


5. 언제 Media Query가 맞을까?

✔ 이런 경우는 무조건 미디어쿼리

  • 3열 → 1열 변경
  • GNB 구조 변경
  • 테이블 → 카드형 변환
  • 사이드바 제거
  • 모바일 전용 레이아웃

구조가 바뀌는 순간은 clamp로 해결 불가

 


6. 실무에서 가장 좋은 방식은?

정답은:

👉 같이 쓴다.

 

실전 예시

/* CSS */

/* 폰트는 clamp */
body {
  font-size: clamp(15px, 0.9vw, 18px);
}

/* 구조는 미디어쿼리 */
.layout {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  .layout {
    grid-template-columns: 250px 1fr;
  }
}

✔ 크기는 부드럽게
✔ 구조는 명확하게

이 조합이 가장 안정적이다.


7. 퍼블리셔 실무 기준 선택법

🔹 clamp를 과하게 쓰면?

  • 레이아웃 간격이 계속 흔들림
  • 정렬감 무너짐
  • 접근성 확대 시 깨짐 가능

🔹 미디어쿼리를 과하게 쓰면?

  • 코드 폭증
  • 유지보수 지옥
  • 브레이크포인트 난립

8. 공공/접근성 프로젝트에서는?

특히 접근성 대응 사이트라면:

  • 최소 폰트 크기 보장
  • 버튼 최소 높이 보장
  • 확대 시 레이아웃 깨짐 방지

이 조건 때문에

구조는 명확하게 Media Query
크기는 최소값 보장한 clamp

 

이 방식이 가장 안전하다.


9. 한 줄 요약

상황 선택
크기 스케일 clamp
구조 변경 media query
공공기관 고도화 둘 다
디자인 시스템 구축 clamp + 토큰화

정리

clamp는 미디어쿼리를 대체하는 기능이 아니다.
미디어쿼리는 구시대 방식도 아니다.

둘은 서로 다른 문제를 해결한다.

구조는 Media Query
스케일은 clamp

 

이 조합이 실무에서 가장 깔끔하다.

 

반응형