Una alternativa a mover elementos en el árbol es usar <use>
elementos en los que cambie el xlink:href
atributo para que le proporcione el orden z que desea.
Aquí hay un viejo hilo en la lista de correo de svg-developers que discute este tema en el contexto de querer animar algunas formas.
Actualizar:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
style="width:100%; height: 100%">
<circle id="c1" cx="50" cy="50" r="40" fill="lime" />
<rect id="r1" x="4" y="20" width="200" height="50" fill="cyan" />
<circle id="c2" cx="70" cy="70" r="50" fill="fuchsia" />
<use id="use" xlink:href="#c1" />
</svg>
En este ejemplo, el elemento <use> es el último, lo que lo convierte en el primer elemento. Podemos elegir cualquiera de los otros elementos para que actúen en primer plano simplemente cambiando el xlink:href
atributo. En el ejemplo anterior, seleccionamos el círculo con id="c1"
, lo que hace que aparezca como el elemento superior.
Ver violín .