SVGSymbolElement: preserveAspectRatio property
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The preserveAspectRatio read-only property of the SVGSymbolElement interface reflects the preserveAspectRatio attribute of the given <symbol> element. It defines how the symbol's content should be scaled to fit the given space, preserving its aspect ratio.
Value
An SVGAnimatedPreserveAspectRatio object.
Examples
Given the following SVG, we can use the preserveAspectRatio property to retrieve the scaling behavior for the symbol element:
html
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<defs>
<symbol
id="exampleSymbol"
viewBox="0 0 100 100"
preserveAspectRatio="xMinYMin meet">
<circle cx="50" cy="50" r="50" fill="blue" />
</symbol>
</defs>
<use href="#exampleSymbol" x="50" y="50" width="100" height="100" />
</svg>
We can access the preserveAspectRatio attribute:
js
const symbolElement = document.getElementById("exampleSymbol");
// Access the preserveAspectRatio property
const aspectRatio = symbolElement.preserveAspectRatio.baseVal;
console.log(aspectRatio.align); // Output: 2 (xMinYMin)
console.log(aspectRatio.meetOrSlice); // Output: 1 (meet)
Specifications
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2> # __svg__SVGFitToViewBox__preserveAspectRatio> |
Browser compatibility
Loading…