cross axis交差軸に沿って配置
Flexboxではflex-directionが主軸を決め、その主軸と直角に交わる方向が交差軸になります。
Flexboxの中で、すべての項目を交差軸方向に揃えるプロパティ。高さの違う3つの項目を動かし、位置と伸び方を比べられます。
.element align-items: normal;
値のパターン
cross axisFlexboxではflex-directionが主軸を決め、その主軸と直角に交わる方向が交差軸になります。
stretch | start | center | end自動サイズの項目を交差軸いっぱいに伸ばすほか、先頭・中央・末尾へまとめて配置できます。
baseline文字サイズや項目の高さが違っても、最初の行の文字が同じ基準線に並ぶよう配置します。
初期値はnormalで、Flexboxでは通常stretchのように働きます。項目自身に固定の交差軸サイズがあると、stretchでは伸びません。
normalレイアウト方式に任せる初期値stretch交差軸いっぱいに伸ばす自動サイズflex-start交差軸の先頭へ揃えるFlexboxcenter交差軸の中央へ揃える中央配置flex-end交差軸の末尾へ揃えるFlexboxbaseline文字の基準線を揃える文字サイズの違いstart / end論理方向の端へ揃えるBox Alignment高さの違うアイコンとラベルを持つボタンやナビゲーションを、縦方向の中央へ揃えられます。
.button { display: flex; align-items: center; }高さを固定していないGridやFlexboxの項目なら、stretchで利用できる交差軸の空間へ広げられます。
.cards { display: grid; align-items: stretch; }価格と単位など大きさの異なる文字を並べるとき、baselineで文字の基準線を合わせられます。
.price { display: flex; align-items: baseline; }ポイント
横並びのFlexboxでは交差軸は縦方向ですが、flex-direction: columnでは横方向へ変わります。主軸方向はjustify-content、交差軸方向はalign-itemsを使います。align-itemsはFlexboxとGridのコンテナーへ指定し、各直接の子要素に対するalign-selfの既定値をまとめて決めます。個別の項目だけ配置を変えるときはalign-selfを使います。このプロパティは子要素へ継承されません。
align-items と一緒に使われるプロパティや、詳しい外部リファレンスをまとめました。