### 반응형 SVG 디자인 패턴 반응형 웹 디자인(Responsive Web Design, RWD)은 다양한 화면 크기와 디바이스에 맞춰 콘텐츠를 최적화하는 필수 요소입니다. SVG(Scalable Vector Graphics)는 벡터 기반으로 해상도에 상관없이 선명함을 유지하며, `viewBox`와 CSS를 활용해 반응형 디자인에 이상적입니다. 아래에서는 반응형 SVG 디자인의 핵심 패턴, 구현 방법, 그리고 실무에서의 활용 예시를 설명합니다. --- ### 반응형 SVG의 장점 1. **확장성**: 픽셀 단위가 아닌 벡터로 정의되어 크기 조정 시 품질 저하 없음. 2. **유연성**: `viewBox`로 좌표계를 조정해 콘텐츠 비율 유지. 3. **스타일링**: CSS 미디어 쿼리와 결합해 조건에 따라 스타일 변경 가능. 4. **경량화**: 이미지 파일 대신 SVG로 대체해 로딩 속도 개선. --- ### 반응형 SVG 디자인 패턴 #### 1. `viewBox`를 활용한 비율 유지 `viewBox`는 SVG의 내부 좌표계를 정의하며, 캔버스 크기(`width`, `height`)와 독립적으로 콘텐츠를 스케일링합니다. 이를 통해 반응형 비율을 유지합니다. - **구현 방법**: - `viewBox="min-x min-y width height"`로 콘텐츠 영역 설정. - `width="100%"`로 컨테이너에 맞게 크기 조정. - **예시**: ```xml ``` - 컨테이너 너비에 따라 원이 비례적으로 크기 조정됨. #### 2. CSS 미디어 쿼리로 조건부 스타일링 SVG 요소의 스타일을 화면 크기에 따라 다르게 적용합니다. - **구현 방법**: - SVG 내부 ` ``` - 화면 너비 600px 이하에서 원이 작아지고 색상이 변경됨. #### 3. 컨테이너에 맞춘 유동적 크기 조정 SVG를 부모 요소에 종속시켜 반응형 레이아웃을 만듭니다. - **구현 방법**: - `width="100%"`와 `height="auto"`로 부모 크기에 맞춤. - `preserveAspectRatio`로 가로세로 비율 조정. - **예시**: ```html