SVG · 01 viewBox와 벡터
단계: 벡터 경로와 좌표 · 편집 가능한 예제 · 저장 ID: svg-01
목표와 학습 후 역량
- 내부 좌표와 화면 크기를 구별한다.
- 크기 변경의 위치·굵기 차이를 설명한다.
선수 지식
JavaScript 함수·배열, DOM 이벤트와 좌표를 다룰 수 있어야 합니다.
핵심 개념과 설명
사용자 좌표
viewBox는 내부 좌표 범위를 정의합니다. 화면 크기를 바꿔도 도형 데이터 자체는 바뀌지 않습니다.
비율 보존
preserveAspectRatio는 내부 사각형을 viewport에 맞추는 방식을 정합니다. meet와 slice는 여백 또는 잘림을 서로 다르게 만듭니다.
실습 준비
기존 내장 예제는 출발점만 제공합니다. 확장 요구사항 전체가 구현된 예제가 아니며 별도 로컬 HTTP 개발 서버의 HTML·ES 모듈 프로젝트에서 직접 구현합니다. 브라우저 버전과 viewport, DPR을 기록하세요.
연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.
실습 과제
- 외부 실습 프로젝트의 day-01.js와 index.html을 준비하세요. inline svg에 rect,circle,path로 300×150 배지를 작성하세요.
- viewBox와 preserveAspectRatio를 select로 바꾸고 화면 크기와 내부 좌표를 표시하세요.
- 입력 조건 0 0 300 150에서 출력을 저장한 뒤 0 0 600 300 조건으로 다시 실행하세요. 같은 좌표의 도형이 화면에서 더 작게 보입니다라는 가설을 화면·로그와 대조하고 day-01-notes.md에 실제 결과와 차이의 원인을 남기세요.
관찰할 변수
| 변수 | 기준 조건 | 바꿀 조건 | 예상할 변화·검증 가설 |
|---|---|---|---|
| viewBox | 0 0 300 150 | 0 0 600 300 | 같은 좌표의 도형이 화면에서 더 작게 보입니다 |
표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.
완료 조건
- 내부 좌표와 화면 크기를 구별한다.
- 크기 변경의 위치·굵기 차이를 설명한다.
자가 점검
- viewBox를 바꾸면 path 데이터도 바뀌나요?
- meet와 slice 중 어느 쪽이 도형을 자를 수 있나요?
공식 참고
연결된 예제와 실행 범위
원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.