<text>
上部の余白を指定して、HTML5 SVG に要素を配置しようとしています。<text>
たとえば、要素の上マージンを 10pxにしたいとします。これは機能しません:
<svg style="height: 100px; border: 1px solid black">
<text fill="#000" x="10" y="10" font-size="50" font-family="Arial">
<tspan>The quick brown fox jumps over the lazy dog</tspan>
</text>
</svg>
問題は、SVG テキスト要素の場合、y
距離がテキストの上端ではなく下端から測定されることです。このコードは、下位 10 ピクセルのみが表示されるテキストを生成します。したがって、マージンを正しくするにfont-size
は、値に値を追加する必要があります。y
<svg style="height: 100px; border: 1px solid black">
<text fill="#000" x="10" y="60" font-size="50" font-family="Arial">
<tspan>The quick brown fox jumps over the lazy dog</tspan>
</text>
</svg>
少なくとも、私はそう思っていました。しかし、これもうまくいきません。ここで、フィドルでわかるように、上部マージンが大きすぎます: http://jsfiddle.net/yy8gS/2/。上余白を左余白と同じにしたいのですが、明らかにそうではありません。実際、y
値 48 はほぼ正しいように見えますが、その理由や、任意の余白とフォント サイズに対してこの値を計算する方法がわかりません。font-size
この値は、SVG が配置に使用する実際のテキストの高さの値ではないように思えます。
誰でもこれで私を助けることができますか? 私がやろうとしていることはSVGでも可能ですか?
前もって感謝します!