SVGSVGElement: viewBox-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 viewBox-Eigenschaft der SVGSVGElement-Schnittstelle ist eine schreibgeschützte Eigenschaft, die das <svg>-Element-Attribut viewBox als SVGAnimatedRect widerspiegelt.

Diese Eigenschaft beschreibt das <svg>-Element-Attribut <viewBox>, das verwendet wird, um die x-Koordinate, y-Koordinate, Breite und Höhe eines <svg>-Elements zu definieren. Die Eigenschaften SVGAnimatedRect.baseVal und SVGAnimatedRect.animVal sind beide SVGRect-Objekte oder null, wenn viewBox nicht definiert ist. Die Komponenten dieser Objekte können von den Eigenschaften SVGSVGElement.x, SVGSVGElement.y, SVGSVGElement.width und SVGSVGElement.height abweichen, da die Attribute x, y, width und height Vorrang vor dem viewBox-Attribut haben.

Für nicht-verschachtelte SVG-Elemente haben die Werte der CSS-Eigenschaften x, y, width und height Vorrang vor irgendwelchen Element-Attributen. Daher spiegelt sich der durch das viewBox definierte Wert möglicherweise nicht im Erscheinungsbild des Elements wider.

Wert

Beispiel

Angenommen, wir haben den folgenden SVG-Öffnungstag:

html
<svg viewbox="-12 -18 200 300" x="5" y="5" height="400" width="600"></svg>

Wir können die viewBox-Werte abrufen, jedoch unterscheiden sie sich von den Eigenschaften x, y, width und height:

js
const svg = document.querySelector("svg");
const vBox = svg.viewBox;

// The SVGSVGElement viewBox property
console.dir(vBox); // SVGAnimatedRect { baseVal: SVGRect, animVal: SVGRect }
​console.log(vBox.baseVal.x); // -12
​console.log(vBox.baseVal.y); // -18
​console.log(vBox.baseVal.width); // 200
​console.log(vBox.baseVal.height); // 300

// Other SVGSVGElement properties
​console.log(svg.x); // 5
​console.log(svg.y); // 5
​console.log(svg.width); // 400
​console.log(svg.height); // 600

Spezifikationen

Specification
Scalable Vector Graphics (SVG) 2
# __svg__SVGFitToViewBox__viewBox

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
viewBox

Legend

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

Full support
Full support

Siehe auch