Je cherchais un moyen de faire flotter un élément <g>à droite d'un fichier svg avec width=100%. Ainsi, on pourrait mettre l'image à l'échelle et mon élément < g> resterait à droite sans être mis à l'échelle.
Voici ce que j'ai découvert :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ev="http://www.w3.org/2001/xml-events"
version="1.1"
baseProfile="full"
width="100%"
height="100%">
<svg viewBox="0 0 300 300" width="100%" height="300px"
preserveAspectRatio="xMaxYMin meet">
<g transform="skewX(45)" style="fill:red;">
<rect x="0" y="0" height="100%" width="20px" />
<rect x="270" y="0" height="100%" width="20px" />
</g>
</svg>
</svg>
L'astuce consiste à utiliser une balise < svg>, où vous placez votre élément, que vous voulez coller à la bordure droite. Ensuite, vous dites à la balise < svg> de ne pas mettre à l'échelle les éléments internes et de les déplacer de sorte que les valeurs x soient à leur maximum et y à leur minimum (xMaxYMin)
preserveAspectRatio="xMaxYMin meet"
De la même façon, vous pouvez le centrer...
source : http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute