テキストベースラインに合わせたアイテム配置

align-items: baselineを使用して、テキストベースラインに基づいてフレックスアイテムを揃え、異なるサイズのアイテム間で一貫したタイポグラフィの配置を実現します。

Alignment

詳細な説明

Flexboxにおけるベースライン配置

align-items: baselineはフレックスアイテムを最初の行のテキストベースラインが同じ位置に来るように揃えます。異なるフォントサイズ、パディング、コンテンツ構造を持つアイテムのテキストを視覚的に揃えたい場合に重要です。

CSSコード

.container {
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.item-large {
  font-size: 2rem;
  padding: 20px;
}

.item-small {
  font-size: 0.875rem;
  padding: 8px;
}

仕組み

上端(flex-start)、下端(flex-end)、中央(center)で揃える代わりに、ベースライン配置は各アイテムの最初の行のテキストベースラインを使用します。ブラウザは各アイテムのベースラインを識別し、すべてのベースラインが同じ水平線上に揃うように垂直方向にシフトします。

baselineと他の配置の比較

揃える基準
flex-start アイテムの上端
flex-end アイテムの下端
center 垂直方向の中心点
baseline 各アイテムの最初のテキストベースライン
stretch 交差軸を埋めるようにアイテムを引き伸ばす

ベースラインが重要な場面

ベースライン配置は以下を混在させる場合に特に重要です:

  • 異なるフォントサイズの要素
  • 異なるパディング量の要素
  • フォームラベルと入力フィールド
  • 異なるサイズの数字を持つ価格表示

ユースケース

異なるサイズのテキスト要素を横に並べて表示する場合に使用します — 通貨記号付きの価格ラベル、入力フィールド付きのフォームラベル、または混合タイポグラフィコンポーネント。要素のサイズが異なっていても視覚的な調和を確保します。

試してみる — Flexbox Playground

フルツールを開く