カテゴリ: CSS 更新日: 2025/12/18

CSSのalign-selfを理解して個別配置をマスター!初心者でもできるフレックスボックス入門

align-self で個別の揃えを調整する方法
align-self で個別の揃えを調整する方法

先生と生徒の会話形式で理解しよう

生徒

「フレックスボックスでアイテムの位置を調整していたら、ひとつだけ上手くそろわないんです。個別に動かす方法ってありますか?」

先生

「ありますよ。そんなときに使うのが align-self というCSSプロパティです。フレックスアイテムを一つだけ別の位置に配置できます。」

生徒

「ひとつだけ動かせるんですね!どうやって使うんですか?」

先生

「それでは、初心者でもわかるように基本から詳しく説明していきますね。」

1. align-selfとは?フレックスボックスで個別に揃え方を変えるCSS

1. align-selfとは?フレックスボックスで個別に揃え方を変えるCSS
1. align-selfとは?フレックスボックスで個別に揃え方を変えるCSS

フレックスボックスとは、Webページの箱(ボックス)を横方向や縦方向にきれいに並べる仕組みです。レイアウトの調整が簡単になるため、初心者がCSSを学ぶときにもよく使われます。

通常、親要素に「align-items」というプロパティを設定すると、子要素(フレックスアイテム)の縦方向の揃え方をまとめて調整できます。しかし、すべてのアイテムが同じ揃え方になってしまうため、「ひとつだけ位置を変えたい」という状況では使いにくいことがあります。

そこで役立つのが「align-self」です。align-selfを使うと、特定のアイテムだけ揃え方を上・中央・下などに変えられます。「自分(self)だけ alignment(揃え方)を変える」という意味の名前なので覚えやすいです。

2. align-selfで設定できる種類を知ろう

2. align-selfで設定できる種類を知ろう
2. align-selfで設定できる種類を知ろう

align-selfで使える主な値は次のとおりです。

  • auto:親要素の align-items の設定をそのまま使う
  • flex-start:上側(開始位置)に寄せる
  • flex-end:下側(終了位置)に寄せる
  • center:中央に配置する
  • stretch:高さを最大まで広げる(デフォルト動作)

これらを指定すると、そのアイテムだけ別の位置に移動できます。ボックスの揃え方に迷ったときは「親は全体」「selfは個別」と覚えると理解しやすいです。

3. align-selfを使った基本的なサンプルコード

3. align-selfを使った基本的なサンプルコード
3. align-selfを使った基本的なサンプルコード

ここでは align-self を使って、3つのアイテムのうち1つだけ配置を変更する例を紹介します。初心者の方でも理解しやすいように、アイテムを色付きの箱として表示します。


<style>
    .container {
        display: flex;
        height: 150px;
        background: #f0f0f0;
        padding: 10px;
        align-items: center;
    }
    .item {
        width: 80px;
        height: 80px;
        margin: 5px;
        background: #6ea8fe;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        border-radius: 10px;
    }
    .item-2 {
        align-self: flex-start;
    }
</style>

<div class="container">
    <div class="item">1</div>
    <div class="item item-2">2</div>
    <div class="item">3</div>
</div>
ブラウザ表示

このサンプルでは、「2番目のアイテムだけ」上側へ移動します。align-items で全体を中央に揃えていますが、item-2 に align-self: flex-start を設定することで個別に調整できます。

4. align-selfを実務で使う場面とは?

4. align-selfを実務で使う場面とは?
4. align-selfを実務で使う場面とは?

Webサイトのレイアウトでは、すべての要素が同じ高さや位置になるとは限りません。たとえば、メニューの中で強調したいボタンだけ位置を調整したり、プロフィール画像だけ上に寄せたりするなど、細かな調整が必要になることがあります。

align-selfは、全体のレイアウトを崩さずに「このアイテムだけちょっと動かしたい」という場面で非常に役立ちます。特にスマートフォンなど画面幅が変わる環境では、レイアウトが崩れたときの微調整に便利です。

5. align-selfをもっと理解するための例え話

5. align-selfをもっと理解するための例え話
5. align-selfをもっと理解するための例え話

フレックスボックスを「体育館で整列している生徒たち」と考えてみましょう。先生(親要素)が「みんな中央に並んでください」と指示すると、全員が中央に整列します。これが align-items です。

しかし、ある生徒だけ「私は前に出ます」と言ったら、その子だけ前に移動します。この「自分だけ動く」動作が align-self のイメージです。

「全体をそろえる align-items」と「個別調整の align-self」をセットで覚えると、CSSのレイアウトがぐっと理解しやすくなります。

6. align-selfが効かないときのチェックポイント

6. align-selfが効かないときのチェックポイント
6. align-selfが効かないときのチェックポイント

align-selfがうまく反映されないときは、次のポイントを確認してみてください。

  • 親要素に display: flex; が設定されているか
  • フレックスアイテムとして扱われているか
  • 高さや幅が適切に設定されているか
  • align-items の設定が強く影響していないか

特に display: flex が設定されていないと align-self はまったく機能しません。フレックスボックスは「親がflex → 子にalign-self」という関係が必要です。

7. align-selfの値による動きの違いをさらに体験してみよう

7. align-selfの値による動きの違いをさらに体験してみよう
7. align-selfの値による動きの違いをさらに体験してみよう

次の例では、3つのアイテムにそれぞれ別の align-self の値を与えています。動きの違いを確認することで、揃え方の特徴がつかみやすくなります。


<style>
    .demo-box {
        display: flex;
        height: 180px;
        background: #eef7ff;
        padding: 10px;
        align-items: center;
    }
    .demo-item {
        width: 80px;
        height: 80px;
        margin: 5px;
        background: #84c0ff;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        border-radius: 10px;
    }
    .demo-1 { align-self: flex-start; }
    .demo-2 { align-self: center; }
    .demo-3 { align-self: flex-end; }
</style>

<div class="demo-box">
    <div class="demo-item demo-1">上</div>
    <div class="demo-item demo-2">中</div>
    <div class="demo-item demo-3">下</div>
</div>
ブラウザ表示

このように、同じコンテナ内でも個別に位置を変更できるため、デザインの自由度が大きく広がります。align-self を覚えることで、フレックスボックスの扱いがさらに上達します。

カテゴリの一覧へ
新着記事
New1
HTML
HTMLとは何か?Webページを作る仕組みを初心者向けに完全解説
New2
Bootstrap
Bootstrap CDNの使い方を完全解説!初心者でもわかる読み込み順とSRIとdeferの設定
New3
Bootstrap
Bootstrapの自動レイアウトと比率指定を完全解説!.colと.col-6の使い分けを初心者向けにやさしく説明
New4
Bootstrap
Bootstrap 5 のカラーと背景色を完全ガイド!初心者向け色の使い分け解説
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.5
Java&Spring記事人気No5
CSS
CSSのフレックスボックスで要素を左右に寄せる方法を完全ガイド!初心者でもわかるjustify-content: space-between
No.6
Java&Spring記事人気No6
CSS
CSS Gridとは?初心者でもわかるグリッドレイアウトとフレックスとの違いをやさしく解説
No.7
Java&Spring記事人気No7
CSS
CSSフレックスボックス完全解説|Gridとの違いとFlexboxが得意なレイアウトパターンを初心者向けに理解しよう
No.8
Java&Spring記事人気No8
CSS
CSSの画面サイズ対応スタイル完全ガイド!初心者でもわかる相対単位の使い方