3.7 KiB
3.7 KiB
컨테이너 쿼리 (Container Queries)
📌 Brief Summary
컨테이너 쿼리는 브라우저의 전체 뷰포트(창) 크기가 아닌, 해당 컴포넌트를 감싸고 있는 **부모 컨테이너의 크기(사용 가능한 공간)**에 따라 스타일을 조정할 수 있게 해주는 모던 CSS 기능입니다 [1-3]. 이를 통해 페이지 레벨이 아닌 진정한 의미의 컴포넌트 레벨 반응형 디자인이 가능해지며, 2026년 현재 모듈식 UI 및 디자인 시스템 구축의 필수 표준 기술로 자리 잡았습니다 [1, 4].
📖 Core Content
- 기존 미디어 쿼리의 근본적 한계 극복: 전통적인 반응형 웹 디자인은 화면(뷰포트)의 너비에 의존하는 미디어 쿼리를 사용했습니다. 하지만 이 방식은 동일한 카드 컴포넌트가 좁은 사이드바에 있을 때와 넓은 메인 영역에 있을 때 각기 다르게 렌더링되어야 하는 상황을 효율적으로 처리하기 어렵다는 치명적인 한계가 있었습니다 [1, 3]. 컨테이너 쿼리는 화면 크기가 아니라 부모 요소의 크기에 반응함으로써 이 문제를 해결합니다 [1-3].
- 작동 방식 및 구현: 컨테이너 쿼리를 사용하려면 먼저 부모 요소에
container-type: inline-size;와 같은 속성을 지정하여 쿼리의 기준이 될 컨테이너를 정의해야 합니다 [2, 3]. 그런 다음@container (min-width: 600px)와 같은 구문을 사용하여 컨테이너의 크기 조건에 맞는 스타일을 하위 요소에 적용합니다 [1, 2]. - 모듈화 및 재사용성의 극대화: 컨테이너 쿼리의 도입은 반응형 디자인의 패러다임이 '페이지 중심'에서 '컴포넌트 중심'으로 이동했음을 의미합니다 [1, 5]. 컴포넌트가 자신이 놓인 환경(Context)을 스스로 인식하고 독립적으로 레이아웃을 조정하게 되므로, 대규모 애플리케이션의 다양한 맥락에서 컴포넌트를 재사용할 때 유연성과 탄력성이 크게 향상되며 이는 디자인 시스템의 작동 방식과 완벽히 일치합니다 [1, 3, 6].
- 브라우저 지원 및 실무 적용 현황: 2024년부터 모든 최신 브라우저에서 완벽히 지원되어 프로덕션 환경에 안전하게 사용할 수 있는 2026년의 반응형 웹 표준 기술입니다 [4, 7]. 실무에서는 복잡한 SaaS 대시보드나 이커머스에서 부모 너비가 좁아질 때 차트를 단순한 숫자 카드로 변경하거나, 데이터 테이블을 카드 스택 형식으로 자동 변환하는 등의 컨텍스트 기반 컴포넌트를 설계할 때 핵심적으로 활용됩니다 [6, 8].
🔗 Knowledge Connections
- Related Topics: 반응형 디자인(Responsive Design), 미디어 쿼리(Media Queries), 디자인 시스템(DesignSystems), 모듈식 CSS(Modular CSS)
- Projects/Contexts: 대규모 프론트엔드 아키텍처(Scalable Frontend Architecture), SaaS 대시보드 및 이커머스 UI 개발
- Contradictions/Notes: 컨테이너 쿼리는 미디어 쿼리를 완전히 없애는 것이 아니라 그 한계를 보완하는 역할을 합니다. 반응형 디자인의 철학이 '뷰포트 중심'에서 '컴포넌트 중심'으로 진화하는 것을 보여주는 대표적인 기술 변화입니다 [5].
Last updated: 2026-04-26