Wie man ein <svg> element zu erweitern oder Vertrag zu seinem übergeordneten container?

Ziel ist die <svg> element erweitern, um die Größe des übergeordneten Containers, in diesem Fall ein <div>, egal wie groß oder klein, dass die container werden können.

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 die Einstellung der viewBox - Attribut auf die <svg> element.

viewBox="0 0 widthOfContainer heightOfContainer"

Jedoch, dies scheint nicht zu funktionieren, in Fällen, wo die Elemente innerhalb des <svg> element mit vordefinierten breiten und/oder Höhen. Zum Beispiel, die <rect> element, in dem obigen code, hat seine Breite und Höhe explizit festgelegt.

Also die offensichtliche Lösung ist die Verwendung von % breiten und % heights auf diese Elemente als gut. Aber muss diese auch gemacht werden müssen? Vor allem, da <img src=test.svg > funktioniert einwandfrei und erweitert/Verträge ohne Probleme mit explizit festgelegt <rect> Höhen und breiten.

Wenn Elemente wie <rect>, und andere Elemente, wie es ist, haben Ihre breiten und Höhen definiert in Prozenten, gibt es eine Möglichkeit, in Inkscape es so eingerichtet, dass alle Elemente mit der <svg> Dokument die prozentuale breiten, Höhen, etc.. anstatt Feste Maße?

Speichern Sie die svg-Datei als Referenz, es als ein Bild, wie <img src="Datei.svg"/> und auf diese Weise können Sie width:100% oder height:100%
Möglich, Duplikat der Wie kann ich eine svg-Skala mit den übergeordneten container?

InformationsquelleAutor user782860 | 2012-01-18

Schreibe einen Kommentar