Comment faire un <svg> élément de dilater ou de se contracter à son conteneur parent?

Le but est d'avoir le <svg> élément étendre à la taille de son conteneur parent, dans ce cas, un <div>, n'importe comment grand ou petit que le conteneur peut être.

Le 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>

La solution la plus courante à ce problème semble être le réglage de la viewBox attribut sur la <svg> élément.

viewBox="0 0 widthOfContainer heightOfContainer"

Toutefois, cela ne semble pas fonctionner dans les cas où les éléments à l'intérieur de la <svg> élément prédéfini largeur et/ou hauteur. Par exemple, le <rect> élément, dans le code ci-dessus, a sa largeur et sa hauteur sont explicitement définis.

Donc, la solution évidente est d'utiliser le % de la largeur et de % hauteurs sur ces éléments. Mais cela veut-il encore à faire? Surtout, depuis <img src=test.svg > fonctionne très bien et se développe/contrats sans aucun problème avec les définir explicitement <rect> hauteurs et largeurs.

Si des éléments comme <rect>, et d'autres éléments, comme elle, avaient leurs largeurs et hauteurs définies en pourcentage, est-il un moyen dans Inkscape pour la régler de sorte que tous les éléments de la <svg> document pourcentage d'utilisation de largeurs, hauteurs, etc.. au lieu de dimensions fixes?

InformationsquelleAutor user782860 | 2012-01-18