SVGMarkerElement: viewBox 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

SVGMarkerElement 接口的只读属性 viewBox 返回一个 SVGAnimatedRect 对象,该对象包含在 <marker> 元素上通过 viewBox 属性设置的值。

一个 SVGAnimatedRect 对象。该对象的 baseVal 属性返回一个 SVGRect 对象,可以从中获取 <marker> viewBox 属性的 xy 坐标,以及 widthheight

示例

此示例演示了如何获取为 <marker>viewBox 属性设置的 width 值。

html
<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>
js
const marker = document.getElementById("arrow");
console.log(marker.viewBox.baseVal.width); // 10

规范

规范
Scalable Vector Graphics (SVG) 2
# __svg__SVGFitToViewBox__viewBox

浏览器兼容性