Para alinear el texto verticalmente en SVG hay que usar el atributo dominant-baseline
. Esto ya se ha discutido en SO (Aligning text in SVG) y es parte de the specification.Cómo centrar el texto SVG verticalmente en IE9
Mi problema es con IE9 que aparentemente does not support dominant-baseline
y un montón de other things.
¿Tiene alguna idea sobre cómo aproximar dominant-baseline: central
en IE9?
Aquí hay una muestra que funciona en FF y Chrome. No funciona en IE9, Opera 11. Safari en Windows no es compatible con central
, pero admite middle
, que sigue siendo bueno.
<?xml version="1.0"?>
<svg width="300" height="300" xmlns="http://www.w3.org/2000/svg">
<path d="M 10 100 h 290" stroke="blue" stroke-width=".5" />
<text x="40" y="100" font-size="16" style="dominant-baseline: auto;">
XXX dominant-baseline: auto; XXX
</text>
<path d="M 10 200 h 290" stroke="blue" stroke-width=".5" />
<text x="40" y="200" font-family="sans-serif" font-size="15" style="dominant-baseline: central;">
XXX dominant-baseline: central XXX
</text>
</svg>
Tampoco parece apoyar el cambio de línea base. El valor "-30%" hace el truco en los navegadores que lo soportan. –