El elemento tspan
El elemento <tspan>, similar al <span> de HTML se utiliza dentro del elemento <text> para marcar los fragmentos de texto que queremos configurar.
A continuación una lista de atributos que pueden ser utilizados con <tspan>.
| Atributo | Ejemplo | Valores |
|---|---|---|
| dx y dy | dy = "20" | número |
| baseline-shift | baseline-shift: super; | auto | baseline | sup | sub | porcentaje | extensión | inherit |
| textLength | textLength ="150" | número |
| lengthAdjust | lengthAdjust ="spacing" | spacing | spacingAndGlyphs |
| rotate | rotate="0 10 20 30..." | Puede tomar como valor una lista de números indicando la rotación individual en grados sexagesimales de cada carácter del elemento <text> o <tspan>. |
Un primer ejemplo
En el siguiente ejemplo utilizamos <tspan> para marcar la palabra murciélago, y cambiarle el color.
Reposicionar la línea base con baseline-shift
El atributo baseline-shift permite reposicionar la línea base ( baseline )
del texto, relativamente al elemento padre.
En el siguiente ejemplo el 2 de E = mc2 y de H2O están redimensionados con style = "font-size:75" y reposicionados con baseline-shift = "super" y baseline-shift = "sub" respectivamente.
Coordenadas absolutas y relativas con dx y dy
El texto del elemento <text> puede ser ajustado con coordenadas absolutas ( x, y ) o relativas ( dx, dy ) utilizando el elemento <tspan>.
En el siguiente ejemplo los versos de Lorca aparecen a 20px distancia uno de otro gracias al atributo dy ( dy = "20" ).
Si queremos hacer muchos cambios, para no cargar el documento de <tspan>s, podemos utilizar valores múltiples con dx y dy.
Ajustar la longitud del texto
con textLength y lengthAdjust
El SVG nos permite especificar la longitud del texto como valor del atributo textLength.
El atributo lengthAdjust, se utiliza junto con textLength para especificar si hay que ajustar solo el espaciado entre letras
( lengthAdjust = "spacing" ), o ajustar tanto el espaciado como la anchura de los glifos ( lengthAdjust = "spacingAndGlyphs" )
Girar las letras
con rotate
El atributo rotate puede tomar como valor una lista de números indicando la rotación individual en grados sexagesimales de cada carácter del elemento <text> o <tspan>.
En este caso rotate="-30,0,30" lo que quiere decir que la primera letra del texto ( H ) tendrá una rotación de -30°, la segunda letra ( o ) se queda como tal, mientras que la tercera letra y las demás tendrán una rotación de 30°.