2 5 10 32 0 0 0

viewBox

Die viewBox als Attribut des svg-Elementes stellt ein Verhältnis zu den Eigenschaft von width und height im svg-Elementes her. Anhand des Schiebereglers wird verdeutlicht, wie die Änderung sich auf den Inhalt von svg auswirkt. SVG (Scalable Vector Graphics) ist als Zeichenfläche/viewBox zu verstehen.

200/200

Anmerkung: MSIE verhält sich mal wieder etwas anders. Er stellt die die Kreise, wie übrigens auch alle anderen Elemente, auch außerhalb der viewBox dar. Alternativ müsste mit dem Anzeigenbegrenzer clip nachgeholfen werden. Ist hier nicht die Aufgabe. Die Angabe im output bleibt unverändert 200/200!

Die Anregung entnahm ich von Dr.Web, von deren Ausführung weitere Beispiele erläutert werden. Es geht also um ein Koordinatensystem, das auf die SVG-Zeichenfläche bezogen skalierbare Größenänderungen vornimmt. Ausgang ist eine Zeichenfläche von 200*200px. Mit dem Schieberegler wird in Stufen von 50px die Relation von viewBox zur Zeichenfläche geändert.
Man merke: Erhält viewBox geringe Werte, wird der Inhalt vergrößert, folglich umgekehrt verkleinert sich der Inhalt in der Zeichenfläche.
Blaumarkiert ist die gewählte Größenangabe für die viewBox.
Kreis hat aktuell den Durchmesser von px.

Hier nehme ich nochmals das text-Element auf. S V G Element „text“ ... in drei Zeilen nicht erklärt!
Dies ist ein Dreizeiler, der davon beeinflusst wird, ob und welche x-/y-Startpunkte gesetzt werden. Dies wird wiederum bei Verwendung der viewBox (selbständiges Thema) zu weiterem Verhalten innerhalb der svg-Zeichenfläche führen. Eigentlich sollte man von zuhause aus ein Frickeltyp sein, um es hiermit aufzunehmen. Da ich mich nicht alleine wähne, mach ich weiter. Damit nicht genug, bilde ich erst einmal den Quellcode ab.

88
89
90
91
92
93
94
95
96
    <svg class="svg" width="400" height="70" viewBox="0 0 400 60" >
        <text x="15" y="24">
            <tspan class="_s">S</tspan>
            <tspan class="_v">V</tspan>
            <tspan class="_g">G</tspan>
            <tspan y="32">Element „text“ ...</tspan>
            <tspan x="24" y="56">in drei Zeilen nicht erklärt!</tspan>
        </text>
    </svg>

Allein die geringfügige Änderung von height="70" und der Angabe in der viewBox viewBox="0 0 400 60" in 40: führt dazu, dass sich der Abstand vertical verändert. S V G Element „text“ ... in drei Zeilen nicht erklärt!
Das Beispiel nebenstehend nochmal mit height="70" und viewBox="0 0 400 70". Das Attribut viewBox ist in diesem Fall zwar nicht notwendig, weil keine abweichenden Eigenschaften übergeben werden. Damit wird aber der Einfluss der viewBox deutlich. S V G Element „text“ ... in drei Zeilen nicht erklärt!

Nun noch eine Änderung auf Breite und Höhe bezogen.
Die viewBox="0 0 330 50" wirkt sich nun auf das Koordinatensytem der Zeichenfläche svg width="400" height="70" entsprechend vergrößernd aus. Eine Angabe, die nur auf Breitenänderung basiert, wirkt sich allein auf eine horizontale Verschiebung aus. Um das zu verinnerlichen, steht der Text im SVG-Element.




Dokument geändert am: 06. Aug. 2016 20:06