Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
- トップページ
- CSSプロパティ辞典
- align-self
align-self
個々のフレックスアイテムに対して、交差軸方向の揃え方を個別に指定します。コンテナの『align-items』の値を上書きできます。
サンプルコード
/* コンテナのalign-itemsに従う(初期値) */
.item { align-self: auto;}
/* このアイテムだけ中央に揃える */
.item-center { align-self: center;}
/* このアイテムだけ下に揃える */
.item-end { align-self: flex-end;}
/* このアイテムだけ伸ばす */
.item-stretch { align-self: stretch;}
指定可能な値一覧
| 値 | 概要 |
|---|---|
| auto | コンテナの『align-items』の値を使います。初期値です。 |
| flex-start | アイテムを交差軸の先頭に揃えます。 |
| flex-end | アイテムを交差軸の末尾に揃えます。 |
| center | アイテムを交差軸の中央に揃えます。 |
| baseline | アイテム内のテキストのベースラインに揃えます。 |
| stretch | アイテムを交差軸方向いっぱいに伸ばします。 |
仕様情報
| 項目 | 内容 |
|---|---|
| 初期値 | auto |
| 適用対象 | フレックスアイテム |
| 継承 | しない |
| アニメーション | 不可(discrete) |
対応ブラウザ
デスクトップ
28 △
27 △
26 △
25 △
24 △
23 △
22 △
21 △↑ prefix『-webkit-』が必要
20 以前 ×
19 以前 ×
7 △↑ prefix『-webkit-』が必要
6 以前 ×全バージョンで対応しています
8 ×
7 ×
6 ×
11 以前 ×モバイル
7 △↑ prefix『-webkit-』が必要
6 以前 ×
Android Browser
4.4 以降 ○
3 以前 ×デスクトップ版と同等の対応です
デスクトップ版と同等の対応です
概要
『align-self』はフレックスアイテムに指定するプロパティで、コンテナに設定された『align-items』の値をそのアイテムだけ上書きできます。「全体は上揃えだけど、このアイテムだけ中央に配置したい」といった場合に使います。
『align-items』との関係
『align-items』はコンテナに指定して全アイテムの揃え方を一括で決めるプロパティです。『align-self』はアイテムに指定して個別に上書きするプロパティです。『align-self: auto』(初期値)の場合は、コンテナの『align-items』の値がそのまま適用されます。
.container {
display: flex;
align-items: flex-start; /* 全体は上揃え */
height: 200px;
}
.item-a { /* align-self: auto → flex-startが適用される */ }
.item-b { align-self: center;} /* このアイテムだけ中央 */
.item-c { align-self: flex-end;} /* このアイテムだけ下揃え */
パターン: フッターを下に固定
/* カード内でフッターだけ下に固定 */
.card {
display: flex;
flex-direction: column;
height: 300px;
}
.card-body { flex: 1;}
.card-footer {
align-self: flex-end; /* 交差軸(横方向)の末尾に配置 */
}
関連プロパティ
| プロパティ | 概要 |
|---|---|
| align-items | コンテナ内の全アイテムの交差軸方向の揃え方を一括で指定します。『align-self』はこの値を個別に上書きします。 |
| justify-content | 主軸方向の配置を制御します。個々のアイテムの主軸方向の配置を個別に変更するプロパティは標準にはありません(『margin: auto;』で代用可能)。 |
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。