SVGMarkerElement: 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 SVGMarkerElement interface returns an SVGAnimatedPreserveAspectRatio object containing the value of the preserveAspectRatio attribute of the <marker>.
Value
An SVGAnimatedPreserveAspectRatio object. The baseVal property of this object returns an SVGPreserveAspectRatio object, with the following properties:
align-
One of the following numeric constants:
0-
SVG_PRESERVEASPECTRATIO_UNKNOWN 1-
SVG_PRESERVEASPECTRATIO_NONE 2-
SVG_PRESERVEASPECTRATIO_XMINYMIN 3-
SVG_PRESERVEASPECTRATIO_XMIDYMIN 4-
SVG_PRESERVEASPECTRATIO_XMAXYMIN 5-
SVG_PRESERVEASPECTRATIO_XMINYMID 6-
SVG_PRESERVEASPECTRATIO_XMIDYMID 7-
SVG_PRESERVEASPECTRATIO_XMAXYMID 8-
SVG_PRESERVEASPECTRATIO_XMINYMAX 9-
SVG_PRESERVEASPECTRATIO_XMIDYMAX 10-
SVG_PRESERVEASPECTRATIO_XMAXYMAX
meetOrSlice-
One of the following numeric constants:
Examples
This example demonstrates how to return the numeric constants for align and meetOrSlice which relate to the values set for the preserveAspectRatio attribute of <marker>.
<svg id="svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker
id="arrow"
viewBox="0 0 10 10"
refX="5"
refY="5"
preserveAspectRatio="xMidYMid meet"
markerWidth="6"
markerHeight="6"
orient="auto-start-reverse">
<path d="M 0 0 L 10 5 L 0 10 z" />
</marker>
</defs>
</svg>
let marker = document.getElementById("arrow");
console.log(marker.preserveAspectRatio.baseVal.align); // 6
console.log(marker.preserveAspectRatio.baseVal.meetOrSlice); // 1
Specifications
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2> # __svg__SVGFitToViewBox__preserveAspectRatio> |
Browser compatibility
Loading…