In some cases, typically when using the viewBox
attribute, it is desirable that the graphics stretch to fit non-uniformly to take up the entire viewport. In other cases, it is desirable that uniform scaling be used for the purposes of preserving the aspect ratio of the graphics.
Attribute preserveAspectRatio
indicates whether or not to force uniform scaling.
For all elements that support that attribute (see above), except for the <image>
element, preserveAspectRatio
only applies when a value has been provided for viewBox
on the same element. For these elements, if attribute viewBox
is not provided, then preserveAspectRatio
is ignored.
For <image>
elements, preserveAspectRatio
indicates how referenced images should be fitted with respect to the reference rectangle and whether the aspect ratio of the referenced image should be preserved with respect to the current user coordinate system.
Categories | None |
---|---|
Value | <align> [<meetOrSlice>] |
Animatable | Yes |
Normative document | SVG 1.1 (2nd Edition) |
<align>
parameter indicates whether to force uniform scaling and, if so, the alignment method to use in case the aspect ratio of the viewBox
doesn't match the aspect ratio of the viewport. The <align>
parameter must be one of the following strings: <align>
is none
, then the optional <meetOrSlice>
value is ignored.)<min-x>
of the element's viewBox
with the smallest X value of the viewport.<min-y>
of the element's viewBox
with the smallest Y value of the viewport.viewBox
with the midpoint X value of the viewport.<min-y>
of the element's viewBox
with the smallest Y value of the viewport.<min-x>+<width>
of the element's viewBox
with the maximum X value of the viewport.<min-y>
of the element's viewBox
with the smallest Y value of the viewport.<min-x>
of the element's viewBox
with the smallest X value of the viewport.viewBox
with the midpoint Y value of the viewport.viewBox
with the midpoint X value of the viewport.viewBox
with the midpoint Y value of the viewport.<min-x>+<width>
of the element's viewBox
with the maximum X value of the viewport.viewBox
with the midpoint Y value of the viewport.<min-x>
of the element's viewBox
with the smallest X value of the viewport.<min-y>+<height>
of the element's viewBox
with the maximum Y value of the viewport.viewBox
with the midpoint X value of the viewport.<min-y>+<height>
of the element's viewBox
with the maximum Y value of the viewport.<min-x>+<width>
of the element's viewBox
with the maximum X value of the viewport.<min-y>+<height>
of the element's viewBox
with the maximum Y value of the viewport.<meetOrSlice>
parameter is optional and, if provided, is separated from the <align>
value by one or more spaces and then must be one of the following strings: viewBox
is visible within the viewportviewBox
is scaled up as much as possible, while still meeting the other criteriaviewBox
(i.e., the area into which the viewBox
will draw will be smaller than the viewport).viewBox
viewBox
is scaled down as much as possible, while still meeting the other criteriaviewBox
does not match the viewport, some of the viewBox
will extend beyond the bounds of the viewport (i.e., the area into which the viewBox
will draw is larger than the viewport).The following elements can use the preserveAspectRatio
attribute
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio