files/en-us/web/api/svgmarkerelement/preserveaspectratio/index.md
{{APIRef("SVG")}}
The preserveAspectRatio read-only property of the {{domxref("SVGMarkerElement")}} interface returns an {{domxref("SVGAnimatedPreserveAspectRatio")}} object containing the value of the {{SVGattr("preserveAspectRatio")}} attribute of the {{SVGElement("marker")}}.
An {{domxref("SVGAnimatedPreserveAspectRatio")}} object. The baseVal property of this object returns an {{domxref("SVGPreserveAspectRatio")}} object, with the following properties:
align
0
SVG_PRESERVEASPECTRATIO_UNKNOWN1
SVG_PRESERVEASPECTRATIO_NONE2
SVG_PRESERVEASPECTRATIO_XMINYMIN3
SVG_PRESERVEASPECTRATIO_XMIDYMIN4
SVG_PRESERVEASPECTRATIO_XMAXYMIN5
SVG_PRESERVEASPECTRATIO_XMINYMID6
SVG_PRESERVEASPECTRATIO_XMIDYMID7
SVG_PRESERVEASPECTRATIO_XMAXYMID8
SVG_PRESERVEASPECTRATIO_XMINYMAX9
SVG_PRESERVEASPECTRATIO_XMIDYMAX10
SVG_PRESERVEASPECTRATIO_XMAXYMAXmeetOrSlice
0
SVG_MEETORSLICE_UNKNOWN1
SVG_MEETORSLICE_MEET2
SVG_MEETORSLICE_SLICEThis example demonstrates how to return the numeric constants for align and meetOrSlice which relate to the values set for the {{SVGattr("preserveAspectRatio")}} attribute of {{SVGElement("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}}
{{Compat}}