Ziel ist es, das <svg>
Element auf die Größe seines übergeordneten Containers zu erweitern, in diesem Fall a <div>
, egal wie groß oder klein dieser Container sein mag.
Der Code:
<style>
svg, #container{
height: 100%;
width: 100%;
}
</style>
<div id="container">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" >
<rect x="0" y="0" width="100" height="100" />
</svg>
</div>
Die häufigste Lösung für dieses Problem scheint darin zu bestehen, das viewBox
Attribut für das <svg>
Element festzulegen.
viewBox="0 0 widthOfContainer heightOfContainer"
Dies scheint jedoch nicht zu funktionieren, wenn Elemente innerhalb des <svg>
Elements vordefinierte Breiten und / oder Höhen haben. Beispielsweise werden für das <rect>
Element im obigen Code Breite und Höhe explizit festgelegt.
Die naheliegende Lösung besteht also darin, auch für diese Elemente% widths und% height zu verwenden. Aber muss das überhaupt gemacht werden? Zumal es gut <img src=test.svg >
funktioniert und sich ohne Probleme mit explizit eingestellten <rect>
Höhen und Breiten problemlos ausdehnt / zusammenzieht .
Wenn Elemente wie <rect>
und andere Elemente wie diese ihre Breiten und Höhen in Prozent definieren müssen, gibt es in Inkscape eine Möglichkeit, sie so festzulegen, dass alle Elemente mit dem <svg>
Dokument prozentuale Breiten, Höhen usw. anstelle fester Abmessungen verwenden ?