# [[미디어 쿼리 (Media Queries)]]

## 📌[[ brief]] Summary
미디어 쿼리(Media Queries)는 화면 크기, 방향, 해상도 등 특정 조건에 따라 다른 CSS 규칙을 적용하게 해주는 반응형 웹 디자인의 핵심 기술이다 [1, 2]. 브라우저의 뷰포트 너비에 반응하여 모바일, 태블릿, 데스크톱 등 다양한 기기에서 단일 코드베이스로 일관된 레이아웃을 제공할 수 있게 한다 [3, 4]. 최근에는 브라우저 렌더링 성능 최적화와 모바일 우선(Mobile-first) 설계의 필수적인 논리로 사용되며, 컴포넌트 단위의 반응형 제어를 위한 컨테이너 쿼리([[Container Queries]])와 함께 현대 CSS 설계의 주요 기반으로 활용된다 [5-8].

## 📖 Core Content
* **반응형 디자인의 핵심 논리:** 미디어 쿼리는 유동형 그리드(Fluid grids), 유연한 미디어(Flexible media)와 함께 반응형 웹 레이아웃을 구성하는 3대 핵심 기초 기술이다 [3, 9]. 화면 크기(뷰포트 너비)뿐만 아니라 고해상도 디스플레이, 다크/라이트 모드 설정, 사용자의 애니메이션 축소 선호(`prefers-reduced-motion`) 환경 등 다양한 조건에 맞춰 세밀하게 스타일을 조정할 수 있다 [10, 11].
* **모바일 우선(Mobile-First) 설계 전략:** 모바일을 위한 기본 스타일을 먼저 작성하고, 뷰포트가 커짐에 따라 `min-width` 미디어 쿼리를 사용하여 레이아웃의 복잡성을 확장해 나가는 방식이 권장된다 [7, 8]. 중단점(Breakpoint)은 특정 기기의 고정된 픽셀 크기에 맞추기보다는, 콘텐츠의 레이아웃이 깨지기 시작하는 지점(예: 360px, 768px, 1024px 등)을 기준으로 설정해야 한다 [2, 11, 12].
* **성능 최적화 및 렌더링 차단 방지:** 브라우저는 기본적으로 모든 CSS 파일을 렌더링 차단(Render-[[Blocking]]) 리소스로 취급한다 [13, 14]. 하지만 HTML의 `<link>` 태그에 미디어 속성을 부여하여 조건별로 CSS를 분리하면(예: 인쇄용 스타일시트), 브라우저가 당장 사용하지 않을 스타일의 렌더링 차단을 방지하여 크리티컬 렌더링 패스를 최적화하고 로딩 속도를 높일 수 있다 [5, 13, 14].
* **한계 및 최신 대안 기술과의 결합:** 미디어 쿼리는 '부모 컨테이너의 가용 공간'이 아닌 '브라우저 뷰포트 창 전체'에만 반응한다는 구조적인 한계가 있다 [6]. 2026년 기준으로는 이를 극복하기 위해 컴포넌트가 놓인 부모 요소의 크기에 반응하는 **컨테이너 쿼리(Container Queries)**가 컴포넌트 단위 설계의 새로운 표준으로 사용된다 [6, 15, 16]. 또한, 글꼴 크기 변경을 위해 수많은 미디어 쿼리를 작성하는 대신 `clamp()` 함수를 활용한 유체 타이포그래피([[Fluid Typography]])를 사용하면 코드를 크게 간소화할 수 있다 [17-19].

## 🔗 Knowledge Connections
- **Related Topics:** [[반응형 웹 디자인 ([[Responsive Web Design]])]], 모바일 우선 설계 (Mobile-First), [[컨테이너 쿼리 (Container Queries)]], 렌더링 차단 최적화 (Render-Blocking [[Optimization]])
- **Projects/Contexts:** 현대적인 CSS 실전 설계, 모듈형 컴포넌트 시스템 구축, 웹 성능 최적화 (Web Performance)
- **Contradictions/Notes:** 미디어 쿼리는 뷰포트 창 크기 기준이기 때문에 맥락에 따라 크기가 달라지는 모듈형 컴포넌트의 재사용성을 완벽하게 보장하기는 어렵다. 소스에서는 이러한 한계를 보완하기 위해 현대 디자인 시스템에서 컨테이너 쿼리를 결합하여 사용할 것을 강하게 권장한다 [6, 16, 18].

---
*Last updated: 2026-04-26*