SVGMarkerElement
The SVGMarkerElement interface provides access to the properties of <marker> elements, as well as methods to manipulate them. The <marker> element defines the graphics used for drawing marks on a shape.
The following properties and methods all return, or act on the attributes of the <marker> element represented by SVGMarkerElement.
Properties
This interface also inherits properties from its parent, SVGElement.
-
SVGMarkerElement.markerUnitsRead only -
Returns an
SVGAnimatedEnumerationobject, with one of the following values:- 0
-
SVG_MARKERUNITS_UNKNOWNwhich means that themarkerUnitsattribute has a value other than the two predefined keywords. - 1
-
SVG_MARKERUNITS_USERSPACEONUSEwhich means that themarkerUnitsattribute has the keyword valueuserSpaceOnUse. - 2
-
SVG_MARKERUNITS_STROKEWIDTHwhich means that themarkerUnitsattribute has the keyword valuestrokeWidth.
-
SVGMarkerElement.markerWidthRead only -
Returns an
SVGAnimatedLengthobject containing the width of the<marker>viewport. -
SVGMarkerElement.markerHeightRead only -
Returns an
SVGAnimatedLengthobject containing the height of the<marker>viewport. -
SVGMarkerElement.orientTypeRead only -
Returns an
SVGAnimatedEnumerationobject, with one of the following values:- 0
-
SVG_MARKER_ORIENT_UNKNOWNwhich means that theorientattribute has a value other than the two predefined keywords. - 1
-
SVG_MARKERUNITS_ORIENT_AUTOwhich means that theorientattribute has the keyword valueauto. - 2
-
SVG_MARKERUNITS_ORIENT_ANGLEwhich means that theorientattribute has an<angle>or<number>value indicating the angle.
-
SVGMarkerElement.orientAngleRead only -
Returns an
SVGAnimatedAngleobject containing the angle of theorientattribute. -
SVGMarkerElement.refXRead only -
Returns an
SVGAnimatedLengthobject containing the value of therefXattribute of the<marker>. -
SVGMarkerElement.refYRead only -
Returns an
SVGAnimatedLengthobject containing the value of therefYattribute of the<marker>. -
SVGMarkerElement.viewBoxRead only -
Returns an
SVGAnimatedRectobject containing anSVGRectwhich contains the values set by theviewBoxattribute on the<marker>. -
SVGMarkerElement.preserveAspectRatioRead only -
Returns an
SVGPreserveAspectRatioobject which contains the values set by thepreserveAspectRatioattribute on the<marker>viewport.
Methods
This interface also inherits methods from its parent, SVGElement.
SVGMarkerElement.setOrientToAuto()-
Sets the value of the
orientattribute toauto. SVGMarkerElement.setOrientToAngle()-
Sets the value of the
orientattribute to a specific angle value.
Examples
The following SVG will be referenced in the examples.
<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" markerWidth="6" markerHeight="6" orient="90"> <path d="M 0 0 L 10 5 L 0 10 z" /> </marker> </defs> </svg>
Finding the Width of the Marker
The markerWidth property returns an SVGAnimatedLength which contains an SVGLength with the value of the markerWidth attribute.
let marker = document.getElementById("arrow"); console.log(marker.markerWidth.baseVal.value); // 6
Updating the Orientation Angle
In the following example the value of the orient attribute is updated using setOrientToAngle() using an SVGAngle created using SVGElement.createSVGAngle().
let svg = document.getElementById("svg"); let marker = document.getElementById("arrow"); console.log(marker.orientAngle.baseVal.value); // value in SVG above - 90 let angle = svg.createSVGAngle(); angle.value = "110"; marker.setOrientToAngle(angle); console.log(marker.orientAngle.baseVal.value); // new value - 110
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
SVGMarkerElement |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
markerHeight |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
markerUnits |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
markerWidth |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
orient |
No |
No |
No |
No |
No |
13.1 |
No |
No |
No |
No |
13.4 |
No |
orientAngle |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
orientType |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
preserveAspectRatio |
1 |
12 |
2 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
refX |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
refY |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
setOrientToAngle |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
setOrientToAuto |
1 |
12 |
1.5 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
viewBox |
1 |
12 |
2 |
9 |
≤12.1 |
3 |
≤37 |
18 |
4 |
≤12.1 |
1 |
1.0 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGMarkerElement