Можно ли отображать несколько строк текста в SVG без использования свойства dy? Я использую SVG 1.1, но могу использовать 1.2.
<svg>
<text font-size="10" font-family="Arial">
<tspan>line 1</tspan>
<tspan>line 2</tspan>
<tspan>line 3</tspan>
</text>
</svg>
Я набрал код выше. Я хочу, чтобы текст был полностью скрытым слева, а каждый tspan был новой строкой. Является ли TSpan единственным тегом, который я могу использовать? Я хочу, чтобы SVG позиционировал текстовые строки вертикально с разрывами строк. Я не хочу вручную вводить dy
Я набрал это в codepen, и он ничего не отображает. http://codepen.io/anon/pen/VLBmyK. Коррекция, да. Текст был скрыт. Я переместил его, используя свойство dy.
ОБНОВЛЕНИЕ 1:
Я обновил ручку кода и, согласно тому, что я прочитал, каждая строка должна появиться ниже другой. Они есть, но они также шатаются.
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<text x="0" y="0" font-size="15">
<tspan dy="15">tspan line 1</tspan>
<tspan dy="15">tspan line 2</tspan>
<tspan dy="15">tspan line 3</tspan>
</text>
</svg>
ОБНОВЛЕНИЕ 2:
Я предполагаю, что требуется добавить свойство x? Если вы устанавливаете свойство dy на фиксированное значение, что происходит при изменении размера шрифта?
Это работает лучше, чем я начал с:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<text x="0" y="0" font-size="15" font-family="courier new" dy="0">
<tspan x=0 dy="15">tspan line 1</tspan>
<tspan x=0 dy="15">tspan line 2</tspan>
<tspan x=0 dy="15">tspan line 3</tspan>
</text>
</svg>
Есть ли способ применить x и dy ко всем tspans? Может быть, свойство типа line-height на текстовом элементе?
ОБНОВЛЕНИЕ 3:
Это не похоже, что текстовый тег имеет свойство устанавливать дельта y. В комментариях было предложено использовать JQuery для установки атрибута x всех tspans. Похоже, что свойство "dy" может принимать другие типы значений, такие как точки и проценты??? Есть ли способ установить значение dy на значение, равное 120% от размера шрифта исходного текстового элемента? Я попытался установить его на 120%, но он не работает так, как я ожидаю. Когда я устанавливаю 120% в свойстве dy, он отключается от экрана. Когда я устанавливаю его на "12" или "12px", это то же положение. Если я установил его на "12%", он слегка сдвинется, но не будет 120% или 12 пикселей.
http://codepen.io/anon/pen/PqBRmd
Похоже, он может принять любое из следующего:
http://www.w3.org/TR/SVG/types.html#InterfaceSVGLength
Я также искал приемлемые типы значений для dy и dx, и я не могу понять это http://www.w3.org/TR/SVG./text.html#TSpanElementDXAttribute.
ОБНОВЛЕНИЕ 4:
Спасибо за ответы. Похоже, существует способ отображения нескольких строк текста, расположенных на расстоянии друг от друга. См. Мой ответ ниже.