CQW와 CQH: 컨테이너 쿼리 단위 성능 비교
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- *웹 개발자** (중급 이상, 반응형 디자인 및 CSS 컨테이너 쿼리 사용 경험자)
- *난이도**: 중간 (CSS 단위 이해, 성능 최적화 기술 요구)
핵심 요약
cqw
는cqh
보다 30-40% 더 빠른 성능 (로딩 시간 165ms vs 205ms, 리사이징 시간 10-12ms vs 20-28ms)cqw
가 대부분의 반응형 디자인에 적합 (가로 기반 스케일링, 브라우저 계산 효율성)cqh
는 높이 기반 스케일링이 필요한 경우 (예: 이미지 카드, 히어로 섹션)에만 사용inline-size
컨테이너 사용 권장 (높이 계산 복잡성 최소화)
섹션별 세부 요약
1. 기본 설정 및 성능 테스트
.wrapper { container-type: inline-size; }
사용 시cqw
기반 레이아웃 구현cqw
= 컨테이너 너비의 1%,cqh
= 컨테이너 높이의 1%- 테스트 환경: 40개 컴포넌트 (카드, 버튼, 텍스트 블록) 포함
2. 성능 차이 분석
- 브라우저 계산 순서: 너비 → 높이 (높이 계산 시 콘텐츠 종속성으로 복잡도 증가)
- 모바일 기기에서 차이 확대:
cqh
사용 시 리사이징 지연 2배 증가
3. `cqh` 사용 사례
- 높이 기반 스케일링 필요 시:
- .image-card { font-size: clamp(1rem, 4cqh, 1.8rem); }
- .hero-section { height: 100vh; font-size: 6cqh; }
size
컨테이너 사용 시:.tall-component { container-type: size; min-height: 40cqh; }
4. 최적화 팁
- 중첩 컨테이너 회피: 다중 중첩 시 성능 저하 및 유지보수 어려움
- CSS 변수 활용:
.container { --spacing: 3cqw; }
→.child-element { padding: var(--spacing); }
- 기본값 제공:
.responsive-heading { font-size: 1.5rem; font-size: clamp(1.2rem, 5cqw, 2rem); }
5. 도구 및 팁
- CSS 컨테이너 쿼리 변환기: https://www.webutilitylabs.com/p/css-container-query-converter-tool.html
- CSS Grid와 결합:
.grid-generator
사용 후 컨테이너 쿼리 적용
결론
- *
cqw
를 기본 단위로 사용하고,cqh
는 높이 기반 스케일링이 필요한 특수한 경우에만 적용**하여 성능 최적화. 컨테이너 쿼리 사용은 JavaScript 의존도 감소 및 자연스러운 컨테이너 기반 반응형 디자인 구현 가능.