5.5 KiB
5.5 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, tags, raw_sources, last_reinforced, github_commit, inferred_by, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | tags | raw_sources | last_reinforced | github_commit | inferred_by | tech_stack | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-컨테이너-쿼리-container-queries | 컨테이너 쿼리 (Container Queries) | 10_Wiki/Topics | needs_review | self | none | A | 0.92 |
|
2026-05-08 | pending | Claude Opus 4.7 (auto-normalize 2026-05-08) |
|
컨테이너 쿼리 ([[Container Queries)]]
📌 한 줄 통찰 (The Karpathy Summary)
컨테이너 쿼리는 UI 컴포넌트가 브라우저 뷰포트(전체 화면)의 크기가 아닌, 자신이 위치한 부모 컨테이너의 크기에 반응하여 스타일을 조정할 수 있도록 해주는 강력한 최신 CSS 기능입니다 [1-4]. 2026년 기준 반응형 웹 디자인의 기본 표준으로 자리 잡았으며, 웹 디자인을 페이지 수준에서 컴포넌트 수준의 사고로 전환시켰습니다 [1, 4, 5]. 이를 통해 컴포넌트는 어떤 레이아웃 문맥에 배치되더라도 스스로 형태를 결정하며 독립적이고 일관되게 동작하는 진정한 재사용성을 갖추게 됩니다 [1, 2, 6, 7].
📖 구조화된 지식 (Synthesized Content)
- 미디어 쿼리의 근본적 한계 극복: 기존의 뷰포트 기반 미디어 쿼리는 브라우저 창 너비에만 반응하기 때문에, 좁은 사이드바에 배치된 카드와 넓은 히어로 영역에 배치된 카드가 동일한 화면 너비에서 똑같은 스타일을 적용받아야 하는 한계가 있었습니다 [1, 7]. 컨테이너 쿼리는 전체 화면 크기가 아닌 부모 요소의 사용 가능한 공간에 반응하도록 함으로써 이 문제를 완벽하게 해결합니다 [1, 8].
- 작동 원리 및 CSS 문법: 특정 요소를 컨테이너로 활성화하기 위해 부모 요소에
container-type: inline-size;를 정의합니다 [6, 7]. 이후@container (min-width: 600px)와 같은 규칙을 사용하여 컨테이너 너비의 임계값에 따라 내부 레이아웃(예: 1단에서 2단 CSS Grid로 변경)을 조정할 수 있습니다 [6, 7]. 또한cqw나cqi같은 컨테이너 전용 단위를 사용하여 컨테이너 크기에 비례하는 유동적 타이포그래피(Fluid Typography)를 구현할 수 있습니다 [9]. - 디자인 시스템 및 모듈화의 완성: 컴포넌트가 자신에게 주어진 너비를 스스로 인식(self-aware)하고 그에 맞춰 프레젠테이션을 선택하게 되면서, UI의 완벽한 모듈화가 가능해졌습니다 [3, 7, 10]. 이는 컴포넌트를 문맥과 독립적으로 만들어 현대 디자인 시스템의 원칙과 이상적으로 부합합니다 [1, 6, 7].
- 실무적 활용 및 안정성: 2024년부터 모든 최신 브라우저에서 완벽하게 지원되어 프로덕션 환경에서 안전하게 사용할 수 있습니다 [11]. 실무에서는 SaaS 대시보드와 같이 데이터가 많은 인터페이스에서 차트나 데이터 테이블을 좁은 너비일 때 카드 뷰로 자동 전환시키는 등의 복잡한 컴포넌트 단위 반응형 처리에 핵심적으로 사용됩니다 [10, 12]. 과거 자바스크립트에 의존해야 했던 문맥 기반 스타일링을 자바스크립트 없이 CSS만으로 처리할 수 있게 해줍니다 [13].
🔗 지식 연결 (Graph)
- Related Topics: 반응형 웹 디자인 ([[Responsive Web Design)]], 미디어 쿼리 (Media Queries), 디자인 시스템 (Design[[ systems)]], CSS Grid, 유동적 타이포그래피 (Fluid Typography)
- Projects/Contexts: SaaS 대시보드 컴포넌트 개발, 재사용 가능한 UI 모듈 설계
- Contradictions/Notes: 컨테이너 쿼리는 뷰포트 기반 미디어 쿼리를 완전히 대체하는 것이 아닙니다. 페이지 전체의 구조(예: 헤더, 푸터, 사이드바 배치 등)에는 여전히 미디어 쿼리와 CSS Grid가 사용되며, 컨테이너 쿼리는 그 내부의 개별 컴포넌트(카드, 폼 등)가 배치된 환경에 유연하게 적응하도록 돕는 상호 보완적인 역할을 수행합니다 [1, 4, 8].
Last updated: 2026-04-26
🤖 LLM 활용 힌트 (How to Use This Knowledge)
언제 이 지식을 쓰는가:
- (TODO)
언제 쓰면 안 되는가:
- (TODO)
🧪 검증 상태 (Validation)
- 정보 상태: needs_review
- 출처 신뢰도: A
- 검토 이유: (P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)
🧬 중복 검사 (Duplicate Check)
- 기존 유사 문서: (TODO: 인덱서 클러스터 리포트 참조)
- 처리 방식: UPDATE (자동 정규화)
- 처리 이유: Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
⚠️ 모순 및 업데이트 (Contradictions & Updates)
- 과거 데이터와의 충돌: 없음
- 정책 변화: 없음
🕓 변경 이력 (Changelog)
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|---|---|---|---|
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
💻 코드 패턴 (Code Patterns)
패턴 1: (TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)
# TODO
🤔 의사결정 기준 (Decision Criteria)
선택 A를 써야 할 때:
- (TODO)
선택 B를 써야 할 때:
- (TODO)
기본값:
(TODO)
❌ 안티패턴 (Anti-Patterns)
- [안티패턴]: (TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)