Je voudrais prendre un petit fichier SVG (créé avec Inkscape), et l'intégrer ou le lier dans un autre (plus gros). Lorsqu'il est affiché par un navigateur, j'espère voir le plus petit apparaître dans un espace réservé du plus grand.
C'est possible?
Préférez <use>
à <image>
comme est ensuite rendu à une résolution fixe et n'échelle pas comme des objets réguliers de données vectorielles dans le document en cours. http://www.w3.org/TR/SVG11/struct.html#ImageElement
Mais l'élément <use>
ne peut pas référencer des fichiers SVG entiers, son xlink:href
attribut est une référence à un élément / fragment dans un document SVG ( http://www.w3.org/TR/SVG11/struct.html#UseElement ). L'élément 'use' peut référencer n'importe quelle ressource locale ou non locale.
exemple:
MyLibrary.svg:
<svg (...)>
<rect x="0" y="0" width="200" inkscape:label="upper-left-blue"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="upper-left-blue" height="200"/>
UseParts.svg:
<use x="0" y="0" width="400" xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="MyLibrary.svg#upper-left-blue" xlink:type="simple"
xlink:actuate="onLoad" height="400" id="use8793" xlink:show="embed"/>
La prise en charge de cette fonctionnalité peut varier pour différents éditeurs / visualiseurs SVG, pour autant que je sache, cela devrait fonctionner (au moins) dans Inkscape, Firefox et Batik.
Utilisez l'
image
élément et référencez votre fichier SVG. Pour le plaisir, enregistrez les éléments suivants sousrecursion.svg
:Source: /programming/5451135/embed-svg-in-svg/5451238#5451238
la source