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.markerUnits
Read only -
Returns an
SVGAnimatedEnumeration
object, with one of the following values:- 0
-
SVG_MARKERUNITS_UNKNOWN
which means that themarkerUnits
attribute has a value other than the two predefined keywords. - 1
-
SVG_MARKERUNITS_USERSPACEONUSE
which means that themarkerUnits
attribute has the keyword valueuserSpaceOnUse
. - 2
-
SVG_MARKERUNITS_STROKEWIDTH
which means that themarkerUnits
attribute has the keyword valuestrokeWidth
.
-
SVGMarkerElement.markerWidth
Read only -
Returns an
SVGAnimatedLength
object containing the width of the<marker>
viewport. -
SVGMarkerElement.markerHeight
Read only -
Returns an
SVGAnimatedLength
object containing the height of the<marker>
viewport. -
SVGMarkerElement.orientType
Read only -
Returns an
SVGAnimatedEnumeration
object, with one of the following values:- 0
-
SVG_MARKER_ORIENT_UNKNOWN
which means that theorient
attribute has a value other than the two predefined keywords. - 1
-
SVG_MARKERUNITS_ORIENT_AUTO
which means that theorient
attribute has the keyword valueauto
. - 2
-
SVG_MARKERUNITS_ORIENT_ANGLE
which means that theorient
attribute has an<angle>
or<number>
value indicating the angle.
-
SVGMarkerElement.orientAngle
Read only -
Returns an
SVGAnimatedAngle
object containing the angle of theorient
attribute. -
SVGMarkerElement.refX
Read only -
Returns an
SVGAnimatedLength
object containing the value of therefX
attribute of the<marker>
. -
SVGMarkerElement.refY
Read only -
Returns an
SVGAnimatedLength
object containing the value of therefY
attribute of the<marker>
. -
SVGMarkerElement.viewBox
Read only -
Returns an
SVGAnimatedRect
object containing anSVGRect
which contains the values set by theviewBox
attribute on the<marker>
. -
SVGMarkerElement.preserveAspectRatio
Read only -
Returns an
SVGPreserveAspectRatio
object which contains the values set by thepreserveAspectRatio
attribute on the<marker>
viewport.
Methods
This interface also inherits methods from its parent, SVGElement
.
SVGMarkerElement.setOrientToAuto()
-
Sets the value of the
orient
attribute toauto
. SVGMarkerElement.setOrientToAngle()
-
Sets the value of the
orient
attribute 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