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

BCD tables only load in the browser

Siehe auch