[解決済み】SVGの矩形にテキストを配置し、中央に配置する方法
2022-04-05 06:18:59
質問
次のような矩形があります。
<rect x="0px" y="0px" width="60px" height="20px"/>
Fiction"という単語を中央に配置したいのですが、可能でしょうか?他の矩形の場合、SVGのワードはその中に収まるように折り返されるのでしょうか?水平・垂直方向にセンタリングされたシェイプの中にテキストを挿入し、ワードラップすることについては、特に何も書かれていないようです。また、テキストは矩形から離れることができません。
を見てみると https://www.w3.org/TR/SVG/text.html#TextElement テキスト要素の x と y は矩形の x と y と異なるので、この例は役に立ちません。テキスト要素には幅と高さがないようです。この辺の計算がよくわからないのです。
(私のHTML表はどうしてもうまくいきません)
解決方法は?
SVGでテキストを水平方向と垂直方向にセンタリングする簡単な方法です。
- テキストの位置を 絶対中心 を中央揃えにします。
-
親であれば、そのまま
x="50%" y ="50%"
. -
他の要素であれば
x
は、そのx
の場合、その要素の幅の半分を加えたものになります(同様にy
ただし、高さを含む)。
-
を使用します。
text-anchor
プロパティを使用して、テキストを水平方向にセンタリングします。middle
:
中
レンダリングされた文字は、レンダリングされたテキストの幾何学的な中央が、最初の現在のテキスト位置になるように整列されます。
-
を使用します。
dominant-baseline
プロパティを使用して、テキストを垂直方向にセンタリングします。middle
(または、どのように見せたいかに応じてcentral
)
以下は簡単なデモです。
<svg width="200" height="100">
<rect x="0" y="0" width="200" height="100" stroke="red" stroke-width="3px" fill="white"/>
<text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle">TEXT</text>
</svg>
また、多くの要素に適用したい場合は、CSSで使用することができます。例えば
svg text{
text-anchor: middle;
dominant-baseline: middle;
}
関連
-
[解決済み] XQuery データと text() 関数
-
[解決済み] Sublime Text 2にはアセンブリのシンタックスハイライトがありますか?
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] textとvarcharの違い(character varying)
-
[解決済み] svg要素の色を変更するには?
-
[解決済み】SVGの矩形にテキストを配置し、中央に配置する方法
-
[解決済み】grepで空白行を削除する。
-
[解決済み】コサインの類似性の例を、とても簡単な図式で誰か教えてください。[クローズド]
-
[解決済み] UIButtonのテキストに下線を引く
-
[解決済み] Text Editor which shows \rn? [クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン