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

## 📌[[ brief]] Summary
미디어 쿼리(Media Queries)는 화면 크기, 해상도, 방향 등 뷰포트의 특정 조건에 따라 각기 다른 CSS 규칙을 적용하게 해주는 반응형 웹 디자인의 핵심 기술이다 [1-3]. 별도의 기기별 사이트를 구축하지 않고도 단일 코드베이스로 모바일, 태블릿, 데스크톱 화면에 맞춰 유연하게 적응하는 레이아웃을 만들 수 있게 해준다 [2, 4].

## 📖 Core Content

*   **반응형 웹 디자인의 논리적 기반:** 미디어 쿼리는 화면의 너비나 해상도뿐만 아니라 가로/세로 방향(orientation), 다크 모드/라이트 모드 선호도 등 다양한 조건에 반응하여 레이아웃을 조정한다 [3, 5]. 여러 고정된 중단점(Breakpoints)보다는 콘텐츠가 자연스럽게 흐르도록 설계하는 것이 중요하며, 일반적으로 480px(모바일), 768px(태블릿), 1024px(소형 데스크톱), 1200px 이상 등의 중단점을 기준으로 활용한다 [5].
*   **모바일 우선(Mobile-First) 설계:** 디자인 및 CSS 작성 시 가장 작은 모바일 화면을 기준으로 기본 스타일을 먼저 구축한 후, `min-width` 미디어 쿼리를 사용하여 화면이 커짐에 따라 레이아웃의 복잡성을 추가하는 방식이 권장된다 [6, 7]. 이 방식은 불필요한 코드를 줄이고 렌더링 성능을 높이는 데 기여한다 [8].
*   **렌더링 블로킹(Render-[[Blocking]]) 방지 및 성능 최적화:** 미디어 쿼리는 주요 렌더링 경로([[Critical Rendering Path]])를 최적화하는 데 중요한 역할을 한다 [9]. CSS 파일을 조건(예: 인쇄용 등)에 따라 여러 모듈로 분할하고 HTML의 `<link>` 태그에 `media` 속성을 부여하면, 브라우저는 파일을 다운로드하되 불필요한 상황에서는 렌더링을 차단하지 않아 초기 로딩 속도를 개선할 수 있다 [9, 10].
*   **접근성([[Accessibility]]) 제어:** `prefers-reduced-motion` 미디어 쿼리를 사용하면 사용자의 운영체제(OS) 수준의 애니메이션 선호도(예: 전정기관 장애가 있는 사용자를 위한 모션 감소)에 맞춰 애니메이션을 선택적으로 제공하거나 비활성화할 수 있다 [11, 12].
*   **뷰포트 쿼리의 한계와 컨테이너 쿼리([[Container Queries]])의 부상:** 기존 미디어 쿼리는 브라우저 창 전체(뷰포트)의 크기에만 반응하므로, 좁은 사이드바나 넓은 메인 영역과 같이 개별 컴포넌트가 처한 실제 공간의 크기 변화에는 대응하기 어려운 근본적인 한계가 있다 [13]. 2026년 현재는 이를 극복하기 위해 부모 컨테이너의 크기에 반응하는 컨테이너 쿼리(`@container`)가 새로운 표준으로 함께 사용되고 있다 [13-15].

## 🔗 Knowledge Connections
- **Related Topics:** [[반응형 디자인(Responsive Design)]], [[컨테이너 쿼리(Container Queries)]], [[모바일 우선 설계([[Mobile-First Design]])]], [[CSS 성능 최적화(CSS Performance [[Optimization]])]], [[웹 접근성(Web Accessibility)]]
- **Projects/Contexts:** 단일 코드베이스를 통한 멀티 디바이스(모바일/데스크톱) 웹 인터페이스 구축, [[렌더링 블로킹 방지를 위한 CSS 분할 및 로딩 최적화]]
- **Contradictions/Notes:** 미디어 쿼리는 반응형 웹 디자인을 위한 훌륭한 도구이지만 브라우저의 전체 뷰포트 크기에만 의존한다는 한계가 있다. 따라서 최신 설계 시스템에서는 컴포넌트 수준의 맥락을 인지해야 하는 경우, 미디어 쿼리 대신 혹은 미디어 쿼리와 함께 컨테이너 쿼리(Container Queries)를 결합하여 사용하는 것이 모범 사례로 권장된다 [13, 15, 16].

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