SVGSymbolElement: preserveAspectRatio-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Die schreibgeschützte preserveAspectRatio-Eigenschaft der SVGSymbolElement-Schnittstelle spiegelt das preserveAspectRatio-Attribut des angegebenen <symbol>-Elements wider. Sie definiert, wie der Inhalt des symbol-Elements skaliert werden soll, um in den verfügbaren Raum zu passen, wobei das Seitenverhältnis beibehalten wird.

Wert

Beispiele

Angenommen, wir haben folgendes SVG, können wir die preserveAspectRatio-Eigenschaft verwenden, um das Skalierungsverhalten für das symbol-Element abzurufen:

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>

Wir können auf das preserveAspectRatio-Attribut zugreifen:

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)

Spezifikationen

Specification
Scalable Vector Graphics (SVG) 2
# __svg__SVGFitToViewBox__preserveAspectRatio

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
preserveAspectRatio

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch