SVGMarkerElement
**SVGMarkerElement
** 接口提供对 <marker>
元素属性的访问,以及用于操作它们的函数。 <marker>
元素定义用于在形状上绘制标记的图形。
以下属性和函数均返回或作用于由 SVGMarkerElement
表示的 <marker>
元素的属性。
实例属性
此接口还从其父接口 SVGElement
继承属性。
SVGMarkerElement.markerUnits
只读-
返回一个
SVGAnimatedEnumeration
对象,其中包含以下值之一- 0
-
SVG_MARKERUNITS_UNKNOWN
表示markerUnits
属性的值与两个预定义的关键字不同。 - 1
-
SVG_MARKERUNITS_USERSPACEONUSE
表示markerUnits
属性具有关键字值userSpaceOnUse
。 - 2
-
SVG_MARKERUNITS_STROKEWIDTH
表示markerUnits
属性具有关键字值strokeWidth
。
SVGMarkerElement.markerWidth
只读-
返回一个
SVGAnimatedLength
对象,其中包含<marker>
视窗的宽度。 SVGMarkerElement.markerHeight
只读-
返回一个
SVGAnimatedLength
对象,其中包含<marker>
视窗的高度。 SVGMarkerElement.orientType
只读-
返回一个
SVGAnimatedEnumeration
对象,其中包含以下值之一 SVGMarkerElement.orientAngle
只读-
返回一个
SVGAnimatedAngle
对象,其中包含orient
属性的角度。 SVGMarkerElement.refX
只读-
返回一个
SVGAnimatedLength
对象,其中包含<marker>
的refX
属性的值。 SVGMarkerElement.refY
只读-
返回一个
SVGAnimatedLength
对象,其中包含<marker>
的refY
属性的值。 SVGMarkerElement.viewBox
只读-
返回一个
SVGAnimatedRect
对象,其中包含一个SVGRect
,该对象包含<marker>
上viewBox
属性设置的值。 SVGMarkerElement.preserveAspectRatio
只读-
返回一个
SVGPreserveAspectRatio
对象,其中包含<marker>
视窗上preserveAspectRatio
属性设置的值。
实例方法
此接口还从其父接口 SVGElement
继承函数。
SVGMarkerElement.setOrientToAuto()
-
将
orient
属性的值设置为auto
。 SVGMarkerElement.setOrientToAngle()
-
将
orient
属性的值设置为特定角度值。
示例
以下 SVG 将在示例中引用。
<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>
查找标记的宽度
markerWidth
属性返回一个 SVGAnimatedLength
,其中包含一个 SVGLength
,其值为 markerWidth
属性。
let marker = document.getElementById("arrow");
console.log(marker.markerWidth.baseVal.value); // 6
更新方向角
在以下示例中,orient
属性的值使用 setOrientToAngle()
更新,该函数使用一个通过 SVGElement.createSVGAngle()
创建的 SVGAngle
。
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
规范
规范 |
---|
可缩放矢量图形 (SVG) 2 # InterfaceSVGMarkerElement |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。