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 July 2015.

Die schreibgeschützte viewBox-Eigenschaft der SVGSVGElement-Schnittstelle spiegelt das <svg>-Element-Attribut viewBox als ein SVGAnimatedRect wider.

Die 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 der viewBox nicht definiert ist. Die Komponenten dieser Objekte können sich von den Eigenschaften SVGSVGElement.x, SVGSVGElement.y, SVGSVGElement.width und SVGSVGElement.height unterscheiden, da die Attribute x, y, width und height Vorrang vor dem viewBox-Attribut haben.

Bei nicht-verschachtelten SVG-Elementen haben die Werte der CSS-Eigenschaften x, y, width und height Vorrang vor allen Elementattributen, sodass die im viewBox definierten Werte möglicherweise nicht im Aussehen des Elements widergespiegelt werden.

Wert

Beispiel

Bei folgendem SVG-Eröffnungstag:

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

Können wir die viewBox-Werte abrufen, aber sie unterscheiden 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

Siehe auch