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 viewBoxAttribut 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 ?
