レイアウト
align-items
align-items は、フレックスボックスやグリッドの中で、項目を交差軸(並べる向きと直交する向き)のどこにそろえるかを指定します。横に並べたフレックスボックスでは、上下のそろえ方です。
構文
normal | stretch | <baseline-position>
| [ <overflow-position>? <self-position> ] | anchor-centerプレビュー
1234
プリセット
見本
右下の角をドラッグするとサイズを変えられます
コード
.box {
display: flex;
align-items: center;
}コントロール
align-itemscenter
safe / unsafe項目が箱からはみ出すときだけ効きます(このプレビューでは、はみ出しません)
1234
解説
値の書き方
normal:初期値です。フレックスボックスではstretchと同じです。stretch:高さがautoの項目を、行の高さいっぱいに伸ばします。高さを決めた項目は伸びません。flex-start・flex-end:交差軸の始まり・終わりの端(横に並べたときは上・下)に寄せます。flex-wrap: wrap-reverseでは入れ替わります。center:真ん中に寄せます。baseline(first baseline):項目の最初の行のベースラインをそろえます。大きさの違う文字を並べるときに便利です。last baseline:最後の行のベースラインでそろえます。start・end:文字の向きで決まる端に寄せます。wrap-reverseでも入れ替わりません。self-start・self-end:項目自身の文字の向きで決まる端に寄せます。anchor-center:アンカー位置指定(position-anchor)で置いた要素を、アンカーの真ん中にそろえます。ほかの項目には効かないので、このプレビューでは変わりません。
このページのプレビューは、補助の宣言で display: flex にしています。項目は最小の高さだけ決めているので、stretch では行の高さいっぱいに伸び、flex-start などでは高さの違いが見えます。項目の中の数字は上下の真ん中に置いているので、baseline では数字の高さがそろいます。
1 つの項目だけそろえ方を変えたいときは、その項目に align-self を書きます。
safe と unsafe
位置のキーワードの前に safe を付けると、項目が行からはみ出すときは start に寄せて、はみ出した分が見えない側(上)に隠れないようにします。unsafe は、はみ出しても指定どおりの位置に置きます。どちらも付けないときは、今のブラウザでは unsafe と同じ動きです。このページのプレビューでは項目がはみ出さないので、付けても見た目は変わりません。