SVG 레이아웃
SVG 코드가 화면에 렌더링 되고, 레이아웃 되는 영역에 대한 개념을 정리해봅니다.
SVG 캔버스(Canvas) 혹은 뷰포트(Viewport)
SVG 뷰박스(viewBox)
SVG 뷰포트(viewport)
뷰포트의 너비(width), 높이(height)를 설정하는 방법은 <img>
요소와 동일합니다.
SVG 뷰박스(viewBox)
viewBox
속성은 값으로 min-x
, min-y
, width
, height
숫자 배열 값을 전달 받습니다. 이 값은 뷰포트에 맵핑 되는 공간을 명시 하며, preserveAspectRatio
속성과 관계를 가집니다.
WARNING.
width
, height
값으로 0
, 음수
는 허용하지 않습니다.
PreserveAspectRatio
SVG 뷰포트와 뷰박스 크기가 다를 경우, 그래픽의 가로:세로 비율을 유지하거나 크기를 확대/축소하는 스케일링 설정은 preserveAspectRatio
속성을 사용합니다. viewBox
속성과 관련된 속성으로 viewBox
속성이 설정되지 않으면 무시됩니다.
preserveAspectRatio 속성 값으로 설정 가능한 매개변수 유형은 다음과 같습니다.
<align>
<meetOrSlide>
(옵션)
정렬 <align>
뷰박스와 뷰포트 크기가 다른 경우, SVG 그래픽 요소를 공간에 정렬하는 설정입니다.
매개변수
설명
none
가로:세로 비율을 보존하지 않습니다. (<meetOrSlide> 매개변수 값 무시)
xMinYMin
가로:세로 비율을 유지합니다. 뷰포트의 왼쪽 x, 상단 y 축 값에 위치 시킵니다.
xMidYMin
가로:세로 비율을 유지합니다. 뷰포트의 가운데 x, 상단 y 축 값에 위치 시킵니다.
xMaxYMin
가로:세로 비율을 유지합니다. 뷰포트의 오른쪽 x, 상단 y 축 값에 위치 시킵니다.
xMinYMid
가로:세로 비율을 유지합니다. 뷰포트의 왼쪽 x, 중앙 y 축 값에 위치 시킵니다.
xMidYMid
가로:세로 비율을 유지합니다. 뷰포트의 가운데 x, 중앙 y 축 값에 위치 시킵니다.
xMaxYMid
가로:세로 비율을 유지합니다. 뷰포트의 오른쪽 x, 중앙 y 축 값에 위치 시킵니다.
xMinYMax
가로:세로 비율을 유지합니다. 뷰포트의 왼쪽 x, 하단 y 축 값에 위치 시킵니다.
xMidYMax
가로:세로 비율을 유지합니다. 뷰포트의 가운데 x, 하단 y 축 값에 위치 시킵니다.
xMaxYMax
가로:세로 비율을 유지합니다. 뷰포트의 오른쪽 x, 하단 y 축 값에 위치 시킵니다.
적당히 채우거나 자름 <meetOrSlice>
<meetOrSlice>
매개 변수는 <align>
뒤에 공백으로 구분되며 설정 가능한 옵션 사항으로 선택사항(옵션) 입니다.
매개변수
설명
meet
가로:세로 비율을 유지합니다.
뷰박스와 뷰포트 크기가 다를 경우, 뷰박스를 뷰포트 안에 모두 표시합니다.
slice
가로:세로 비율을 유지합니다.
뷰박스와 뷰포트 크기가 다를 경우, 뷰박스를 잘라 화면에 표시합니다
아래 이미지와 각 매개변수를 살펴보면 각각의 설정을 이해하는데 도움이 될 겁니다.
Last updated