Pregunta

  

Duplicar posible:
   Incluir archivo SVG en SVG

la propiedad de llenado en SVG acepta una URL para que apunte a un elemento de gradiente / patrón, una instancia de una llamada 'servidor de pintura'.

La Pregunta: ¿Es posible en cualquier navegador (es decir, no IE, por supuesto), utilizar un gradiente definido en un archivo SVG externo? Al igual que, en rect.svg,

<rect fill="url(grad.svg#my_grad)" />

y el elemento <linearGradient /> correspondiente en grad.svg?

Sería muy agradable, porque entonces se podría almacenar todos sus gradientes / patrones en un archivo y conseguir que la caché ...

Saludos,

Actualización: Esta pregunta es, por su significado, un duplicado de Incluir archivo SVG en SVG (donde la pregunta fue respondida por al menos Firefox). Sigo mina a cielo abierto, porque creo que el título y las etiquetas son más probabilidades de ser encontrado por, bueno, ya.

¿Fue útil?

Solución

La especificación SVG simplemente indica que puede utilizar un URI - por lo que debe ser posible. Soporte del navegador es por supuesto un asunto diferente.

Me acabo de escribir y probado un archivo de muestra pequeño.

No funciona en Inkscape -. Pero funciona con el kit de herramientas Apache Batik

Para compatibilidad con navegadores, he subido el archivo a browsershots.org y para resumir: algunos navegadores apoyo externo gradientes - algunos no lo hacen. por ejemplo:.

  • Firefox 3.0 NO
  • Firefox 3.5 SI
  • Opera 9.64, 10.0 SÍ
  • Safari 4 NO
  • Chrome 2.0 NO

Otros consejos

Si he entendido bien, cambiar la url a

<rect fill="url(grad.svg?param=my_grad" />

Y luego generar la dinámica SVG?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top