SVGSymbolElement: preserveAspectRatio 属性

Baseline 已广泛支持

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

SVGSymbolElement 接口的只读属性 preserveAspectRatio 反映了给定 <symbol> 元素的 preserveAspectRatio 属性。它定义了 symbol 的内容应如何缩放到适应给定空间,同时保留其宽高比。

一个 SVGAnimatedPreserveAspectRatio 对象。

示例

鉴于以下 SVG,我们可以使用 preserveAspectRatio 属性来检索 symbol 元素的缩放行为。

html
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
  <defs>
    <symbol
      id="exampleSymbol"
      viewBox="0 0 100 100"
      preserveAspectRatio="xMinYMin meet">
      <circle cx="50" cy="50" r="50" fill="blue" />
    </symbol>
  </defs>
  <use href="#exampleSymbol" x="50" y="50" width="100" height="100" />
</svg>

我们可以访问 preserveAspectRatio 属性。

js
const symbolElement = document.getElementById("exampleSymbol");

// Access the preserveAspectRatio property
const aspectRatio = symbolElement.preserveAspectRatio.baseVal;

console.log(aspectRatio.align); // Output: 2 (xMinYMin)
console.log(aspectRatio.meetOrSlice); // Output: 1 (meet)

规范

规范
Scalable Vector Graphics (SVG) 2
# __svg__SVGFitToViewBox__preserveAspectRatio

浏览器兼容性

另见