CSS

The alignment-baseline property is used in SVG and similar contexts to specify how the text baseline should be aligned relative to the parent element or surrounding text.

alignment-baseline

 alignment-baseline プロパティは、主にSVGにおけるテキストやインライン要素のベースライン位置を制御するために使用されるプロパティです。通常のHTML+CSS(静的な文書レイアウト)においてはあまり使われず、実装状況や仕様上の扱いも限定的です。

alignment-baseline とは

役割
親要素や周囲のテキストのベースラインに対して、子要素(テキストやインライン要素)の基準がどのように揃えられるかを制御する。
使用される場面

主な値と挙動

 alignment-baseline は、仕様上次のような値が定義されています。ただし、ブラウザによって未実装・非対応の値があるため実際の動作には注意が必要です。

baseline
デフォルトのベースラインに合わせる(アルファベットであればアルファベットベースライン)。
middle
親要素(もしくは行ボックス)の中央と要素の中央が合うように配置する。
before-edge / text-before-edge
多くの場面ではテキストの上端が親要素の上端に揃えられるイメージ。
SVGなどでの各文字のボックス(フォントボックス)の “before edge”(上端)を基準にする。
after-edge / text-after-edge
多くの場面ではテキストの下端が親要素の下端に揃えられるイメージ。
central
フォントの幾何学的中心線に合わせる。たとえば円形の中心をとるようにベースラインが決められる
mathematical
数式のレイアウトや数学的な文字列組版で利用される数学的ベースラインに合わせる。
ideographic
漢字などの表意文字(CJK文字)を想定したベースラインに合わせる。
hanging
インド系文字や一部のタイポグラフィで使われる、ぶら下がりベースラインに合わせる。
alphabetic
アルファベットに特化したベースライン(いわゆるローマン系フォントでの通常の横書きベースラン)。
auto
ユーザーエージェント(ブラウザ)により自動で選ばれる。通常は baseline と類似の動作になる。

 実際には SVG の実装状況などにより、期待通りに反映されない場合や、一部ブラウザでサポートが不完全な場合があります。

関連するプロパティとの違い

dominant-baseline
baseline-shift

簡単な使用例(SVGの場合)

baseline middle

HTML

<svg width="200" height="100">
	<!-- ベースラインの異なる2つのテキストを用意 -->
	<text x="20" y="50" font-size="24" alignment-baseline="baseline">
		baseline
	</text>
	<text x="20" y="50" font-size="24" fill="red" alignment-baseline="middle">
		middle
	</text>
</svg>

ブラウザ対応状況と注意点

対応状況
注意点

まとめ