LINUX.ORG.RU
решено ФорумTalks

Как SVG выравнивает текст?

 


0

1

Есть два примера. В одном три тега «текст», в другом в одном теге «текст» три тега «tspan»:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="175" height="50">
  <g>
    <rect x="15" y="5" rx="10" width="145" height="40" style="fill:silver"/>
    <text x="15" y="45"
        style="font-size:18px;font-family:Sans">
        <tspan>php</tspan>
    </text>
    <text x="160" y="45"
        style="font-size:18px;font-family:Sans;text-anchor:end">
        <tspan>admin</tspan>
    </text>
    <text x="88" y="30"
        style="font-size:28px;font-family:Sans;text-anchor:middle">
        <tspan>MySQL</tspan>
    </text>
  </g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="175" height="50">
  <g>
    <rect x="15" y="5" rx="10" width="145" height="40" style="fill:silver"/>
    <text style="font-size:18px;font-family:Sans">
      <tspan x="15" y="45">php</tspan>
      <tspan x="160" y="45" style="text-anchor:end">admin</tspan>
      <tspan x="88" y="30" style="text-anchor:middle;font-size:28px">MySQL</tspan>
    </text>
  </g>
</svg>

Во втором случае текст «admin» сдвигается влево (так это отображается у меня). Если поменять местами «admin» и «MySQL» то сдвигаться будет «MySQL». Это баг или так было задумано?

★★★★★

Поскольку вопрос был задан в talks, анонимный участник дал ответ в другом обсуждении: влияют пробелы и переводы строки вокруг тегов «tspan», которые естественно печатаются (в теге «текст»).

Но это означает что пользоваться тегами «tspan» неудобно в случае прямого редактирования svg.

sin_a ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.