SVG viewPort
- width: 300
- height: 300
view port coordinate system equals user coordinate system
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: 0
- minY: 0
- width: 150
- height: 150
- The region is scaled up (in a zoom-in-like effect) to fill the entire viewport
- user coordinate system is mapped to the viewport coordinate system
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: 0
- minY: 0
- width: 450
- height: 450
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: 50
- minY: 50
- width: 300
- height: 300
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: -50
- minY: -50
- width: 300
- height: 300
any descendant of the svg will be positioned and sized in the new user coordinate system
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: 0
- minY: 0
- width: 300
- height: 300
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: 0
- minY: 0
- width: 600
- height: 600
viewPort width, height
represents the user coordinate system before viewBox transformation is applied
1 unit in the user coordiante system equal 0.5 units in the viewPort coordinate system
viewPort width / viewBox width
viewPort height / viewBox height
preserveAspectRatio=defer? align meetOrSlice?
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: 0
- minY: 0
- width: 100
- height: 300
by default it preserves aspect ratio
SVG viewPort
- width: 300
- height: 300
SVG viewBox
- minX: 0
- minY: 0
- width: 100
- height: 300
preserveAspectRatio="none"
if is set to none
the graphic will be scaled inside the viewPort without mantaining the aspect ratio
SVG viewPort
- width: 300
- height: 300
rec 1
- width: 100
- height: 100
- x: 100
- y: 100
- transform:translate(-50 -50)
rec 2
- width: 100
- height: 100
- x: 100
- y: 100
rec 3
- width: 100
- height: 100
- x: 100
- y: 100
- transform:translate(100 100)
SVG viewPort
- width: 300
- height: 300
rec 1
- width: 300
- height: 300
- x: 100
- y: 100
- transform:scale(0.25)
rec 2
- width: 300
- height: 300
- x: 100
- y: 100
- transform:scale(0.5)
rec 3
- width: 300
- height: 300
- x: 100
- y: 100