Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
- トップページ
- CSSプロパティ辞典
- align-items
align-items
フレックスコンテナの交差軸方向におけるアイテムの揃え方を指定します。『flex-direction: row』の場合は縦方向、『column』の場合は横方向の配置を制御します。
サンプルコード
/* コンテナの高さいっぱいに伸ばす(初期値) */
.container { display: flex; align-items: stretch;}
/* 上揃え */
.container-start { display: flex; align-items: flex-start;}
/* 中央揃え */
.container-center { display: flex; align-items: center;}
/* 下揃え */
.container-end { display: flex; align-items: flex-end;}
/* テキストのベースラインで揃える */
.container-base { display: flex; align-items: baseline;}
指定可能な値一覧
| 値 | 概要 |
|---|---|
| stretch | アイテムをコンテナの交差軸方向いっぱいに伸ばします。初期値です。 |
| flex-start | アイテムを交差軸の先頭に揃えます。 |
| flex-end | アイテムを交差軸の末尾に揃えます。 |
| center | アイテムを交差軸の中央に揃えます。 |
| baseline | アイテム内のテキストのベースライン(文字の底辺)に揃えます。 |
仕様情報
| 項目 | 内容 |
|---|---|
| 初期値 | stretch |
| 適用対象 | フレックスコンテナ(『display: flex』または『display: inline-flex』が指定された要素) |
| 継承 | しない |
| アニメーション | 不可(discrete) |
対応ブラウザ
28 △
27 △
26 △
25 △
24 △
23 △
22 △
21 △
20 以前 ×
19 以前 ×
7 △
6 以前 ×
8 ×
7 ×
6 ×
14 以前 ×
7 △
6 以前 ×
Android Browser
4.4 以降 ○
3 以前 ×概要
『align-items』はフレックスコンテナに指定するプロパティで、交差軸方向(『flex-direction: row』の場合は縦方向)のアイテムの揃え方を一括で制御します。『justify-content』が主軸方向を担当し、『align-items』が交差軸方向を担当するという関係です。
各値の配置イメージ
stretch(初期値)
アイテムにサイズ(『height』や『width』)が明示的に指定されていない場合、コンテナの交差軸方向いっぱいに引き伸ばされます。これが初期値であるため、『display: flex』を指定しただけでアイテムの高さが揃うのはこのプロパティの効果です。アイテムに明示的なサイズが指定されている場合は『stretch』でも伸ばされません。
center
アイテムを交差軸の中央に揃えます。『justify-content: center』と組み合わせることで、上下左右の完全な中央配置が実現できます。これはFlexboxの最も代表的な使い方の一つです。
/* 上下左右の完全中央配置 */
.perfect-center {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
baseline
各アイテム内のテキストのベースライン(文字の底辺の線)を揃えます。フォントサイズが異なるアイテムが混在する場合に、テキストの位置を自然に揃えたいときに使います。
/* フォントサイズの異なる要素のテキスト位置を揃える */
.nav {
display: flex;
align-items: baseline;
}
.nav-title { font-size: 24px;}
.nav-link { font-size: 14px;}
個別のアイテムだけ揃え方を変えたい場合
特定のアイテムだけ交差軸の揃え方を変えたい場合は、そのアイテムに『align-self』プロパティを指定します。『align-items』はコンテナ全体に対する一括指定で、『align-self』は個別のアイテムに対する指定です。
.container {
display: flex;
align-items: flex-start; /* 全体は上揃え */
}
.special-item {
align-self: flex-end; /* このアイテムだけ下揃え */
}
関連プロパティ
| プロパティ | 概要 |
|---|---|
| justify-content | 主軸方向のアイテム配置を制御します。『align-items』と組み合わせて上下左右の配置を指定できます。 |
| align-self | 個々のアイテムに対して交差軸方向の揃え方を個別に指定します。『align-items』を上書きします。 |
| align-content | 複数行の場合の行間配置を制御します。『align-items』は行内のアイテム配置、『align-content』は行全体の配置です。 |
| flex-direction | 主軸の方向を指定します。『align-items』が効く方向はこのプロパティの値によって変わります。 |
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。