Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

CSSプロパティ辞典

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)
対応ブラウザ
Chrome Chrome
29 以降
28
27
26
25
24
23
22
21
↑ prefix『-webkit-』が必要
20 以前 ×
Firefox Firefox
20 以降
19 以前 ×
Safari Safari
9 以降
8
7
↑ prefix『-webkit-』が必要
6 以前 ×
Edge Edge
12 以降
全バージョンで対応しています
IE IE
11
10
9 ×
8 ×
7 ×
6 ×
Opera Opera
12.1 以降
11 以前 ×
iOS Safari iOS Safari
9 以降
8
7
↑ prefix『-webkit-』が必要
6 以前 ×
Android Android Browser
4.4 以降
3 以前 ×
Chrome Android Chrome Android
最新版
デスクトップ版と同等の対応です
Firefox Android Firefox Android
最新版
デスクトップ版と同等の対応です

※ バージョン情報は MDN / Can I Use に基づいています。

概要

『align-self』はフレックスアイテムに指定するプロパティで、コンテナに設定された『align-items』の値をそのアイテムだけ上書きできます。「全体は上揃えだけど、このアイテムだけ中央に配置したい」といった場合に使います。

『align-items』との関係

align-items: flex-start(全体は上揃え) A(上揃え) B(中央) align-self: center C(下揃え) align-self: flex-end

『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;}  /* このアイテムだけ下揃え */
パターン: フッターを下に固定

flex-direction: column カード本文 flex: 1 Footer(下に固定) ← 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;』で代用可能)。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。