SVGMarkerElement
Baseline 广泛可用 *
SVGMarkerElement 接口提供了对 <marker> 元素属性的访问,以及操作它们的方法。<marker> 元素定义了用于在形状上绘制标记的图形。
以下属性和方法都返回或作用于由 SVGMarkerElement 表示的 <marker> 元素的属性。
实例属性
此接口还继承了其父接口 SVGElement 的属性。
SVGMarkerElement.markerUnits只读-
返回一个
SVGAnimatedEnumeration对象,具有以下值之一: SVGMarkerElement.markerWidth只读-
返回一个
SVGAnimatedLength对象,其中包含<marker>视口(viewport)的宽度。 SVGMarkerElement.markerHeight只读-
返回一个
SVGAnimatedLength对象,其中包含<marker>视口(viewport)的高度。 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>视口(viewport)上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
更新方向角度
在下面的示例中,使用通过 SVGElement.createSVGAngle() 创建的 SVGAngle,使用 setOrientToAngle() 方法更新 orient 属性的值。
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
规范
| 规范 |
|---|
| Scalable Vector Graphics (SVG) 2 # 接口 SVGMarkerElement |
浏览器兼容性
加载中…