Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
- トップページ
- CSSプロパティ辞典
- align-content
align-content
フレックスコンテナ内で複数行になった場合の、行と行の間隔や配置を指定します。『flex-wrap: wrap』で折り返しが発生した場合にのみ効果があります。
サンプルコード
/* 行をコンテナいっぱいに伸ばす(初期値) */
.container { display: flex; flex-wrap: wrap; align-content: stretch;}
/* 行を上に寄せる */
.container-start { display: flex; flex-wrap: wrap; align-content: flex-start;}
/* 行を中央に寄せる */
.container-center { display: flex; flex-wrap: wrap; align-content: center;}
/* 行を均等配置 */
.container-between { display: flex; flex-wrap: wrap; align-content: space-between;}
指定可能な値一覧
| 値 | 概要 |
|---|---|
| stretch | 各行をコンテナの交差軸方向いっぱいに伸ばして配置します。初期値です。 |
| flex-start | 行を交差軸の先頭に寄せて配置します。 |
| flex-end | 行を交差軸の末尾に寄せて配置します。 |
| center | 行を交差軸の中央に配置します。 |
| space-between | 最初の行は先頭、最後の行は末尾に配置し、残りを均等に配置します。 |
| space-around | 各行の両側に均等な余白をつけて配置します。 |
| space-evenly | すべての行間と両端の間隔を完全に均等にして配置します。 |
仕様情報
| 項目 | 内容 |
|---|---|
| 初期値 | stretch |
| 適用対象 | 複数行のフレックスコンテナ(『flex-wrap: wrap』が指定された要素) |
| 継承 | しない |
| アニメーション | 不可(discrete) |
対応ブラウザ
デスクトップ
28 △
27 △
26 △
25 △
24 △
23 △
22 △
21 △↑ prefix『-webkit-』が必要
20 以前 ×
27 以前 ×
7 △↑ prefix『-webkit-』が必要
6 以前 ×全バージョンで対応しています
8 ×
7 ×
6 ×↑ prefix『-webkit-』が必要
14 以前 ×モバイル
7 △↑ prefix『-webkit-』が必要
6 以前 ×
Android Browser
4.4 以降 ○
3 以前 ×デスクトップ版と同等の対応です
デスクトップ版と同等の対応です
概要
『align-content』はフレックスコンテナに指定するプロパティで、複数行(『flex-wrap: wrap』を指定して折り返しが発生した状態)における行全体の交差軸方向の配置を制御します。一行のみの場合(『flex-wrap: nowrap』)は効果がありません。
各値の配置イメージ
『align-items』との違い
『align-items』は各行の中でアイテムをどう揃えるかを制御し、『align-content』は行そのものをコンテナ内でどう配置するかを制御します。
| プロパティ | 対象 | 効果 |
|---|---|---|
| align-items | 行内のアイテム | 各アイテムの交差軸方向の位置を揃えます。 |
| align-content | 行全体 | 複数行をコンテナ内でどう配置するかを制御します。 |
パターン: グリッド風レイアウト
/* カードを折り返して均等に配置 */
.grid-like {
display: flex;
flex-wrap: wrap;
align-content: flex-start; /* 上に詰める */
gap: 16px;
height: 500px;
}
.card {
flex: 0 0 calc(33.333% - 16px);
}
効果がない場合のチェックポイント
『align-content』が効かない場合、以下の3点を確認してください。
1つ目は『flex-wrap: wrap』が指定されているか。『nowrap』(初期値)のままでは行が一つしかないため効果がありません。2つ目はコンテナに交差軸方向のサイズが指定されているか。『flex-direction: row』の場合は『height』が必要です。3つ目は実際に折り返しが発生しているか。アイテムが一行に収まっている場合は効果がありません。
関連プロパティ
| プロパティ | 概要 |
|---|---|
| align-items | 行内のアイテムの交差軸方向の揃え方を制御します。行全体の配置は『align-content』で行います。 |
| flex-wrap | 折り返しを制御します。『align-content』は『wrap』で折り返しが発生した場合にのみ効果があります。 |
| justify-content | 主軸方向のアイテム配置を制御します。『align-content』は交差軸方向の行配置版です。 |
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。