Spécifications
Dans la spécification SVG version 1.1, l'ordre de rendu est basé sur l'ordre du document :
first element -> "painted" first
Référence à la SVG 1.1. Spécification
3.3 Ordre de rendu
Les éléments d'un fragment de document SVG ont un ordre de dessin implicite, avec l'élément premiers éléments dans le fragment de document SVG obtenant "peint" d'abord . Les éléments suivants sont peints par-dessus les éléments précédemment peints.
Solution (plus propre, plus rapide)
Vous devriez mettre le cercle vert comme le dernier objet à être dessiné. Intervertissez donc les deux éléments.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="30 70 160 120">
<!-- First draw the orange circle -->
<circle fill="orange" cx="100" cy="95" r="20"/>
<!-- Then draw the green circle over the current canvas -->
<circle fill="green" cx="100" cy="105" r="20"/>
</svg>
Ici la fourchette de votre jsFiddle .
Solution (alternative)
L'étiquette use
avec l'attribut xlink:href
(juste href
para SVG 2 ) et comme valeur l'id de l'élément. Gardez à l'esprit que ce n'est peut-être pas la meilleure solution, même si le résultat semble bon. Ayant un peu de temps, voici le lien de la spécification Élément "utilisation" de SVG 1.1 .
Objectif :
Pour éviter d'obliger les auteurs à modifier le document référencé pour ajouter un ID à l'élément Root.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="30 70 160 120">
<!-- First draw the green circle -->
<circle id="one" fill="green" cx="100" cy="105" r="20" />
<!-- Then draw the orange circle over the current canvas -->
<circle id="two" fill="orange" cx="100" cy="95" r="20" />
<!-- Finally draw again the green circle over the current canvas -->
<use xlink:href="#one"/>
</svg>
Notes sur SVG 2
Spécification SVG 2 est la prochaine version majeure et supporte toujours les fonctionnalités ci-dessus.
3.4. Ordre de rendu
Les éléments en SVG sont positionnés en trois dimensions. En plus de leur position sur les axes x et y de la fenêtre d'affichage SVG, les éléments SVG sont également positionnés sur l'axe z. La position sur l'axe L'axe z définit l'ordre dans lequel ils sont peints. .
Le long de l'axe z, les éléments sont regroupés dans des contextes d'empilement.
3.4.1. Établir un contexte d'empilement en SVG
...
Les contextes d'empilement sont des outils conceptuels utilisés pour décrire l'ordre dans lequel les éléments doivent être peints les uns au-dessus des autres lorsque le document est rendu, ...