Чтобы выравнивать текст по вертикали в SVG, нужно использовать атрибут dominant-baseline
.
Это уже обсуждалось в SO (Выравнивание текста в SVG) и является частью спецификация.
Моя проблема с IE9, которая, по-видимому, не поддерживает dominant-baseline
и кучу другие вещи.
Есть ли у вас какие-либо идеи о приближении dominant-baseline: central
в IE9?
Вот пример, который работает в FF и Chrome. Он не работает в IE9, Opera 11. Safari в Windows не поддерживает central
, но поддерживает middle
, который по-прежнему хорош.
<?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>