CSSのalign-selfを理解して個別配置をマスター!初心者でもできるフレックスボックス入門
生徒
「フレックスボックスでアイテムの位置を調整していたら、ひとつだけ上手くそろわないんです。個別に動かす方法ってありますか?」
先生
「ありますよ。そんなときに使うのが align-self というCSSプロパティです。フレックスアイテムを一つだけ別の位置に配置できます。」
生徒
「ひとつだけ動かせるんですね!どうやって使うんですか?」
先生
「それでは、初心者でもわかるように基本から詳しく説明していきますね。」
1. align-selfとは?フレックスボックスで個別に揃え方を変えるCSS
フレックスボックスとは、Webページの箱(ボックス)を横方向や縦方向にきれいに並べる仕組みです。レイアウトの調整が簡単になるため、初心者がCSSを学ぶときにもよく使われます。
通常、親要素に「align-items」というプロパティを設定すると、子要素(フレックスアイテム)の縦方向の揃え方をまとめて調整できます。しかし、すべてのアイテムが同じ揃え方になってしまうため、「ひとつだけ位置を変えたい」という状況では使いにくいことがあります。
そこで役立つのが「align-self」です。align-selfを使うと、特定のアイテムだけ揃え方を上・中央・下などに変えられます。「自分(self)だけ alignment(揃え方)を変える」という意味の名前なので覚えやすいです。
2. align-selfで設定できる種類を知ろう
align-selfで使える主な値は次のとおりです。
- auto:親要素の align-items の設定をそのまま使う
- flex-start:上側(開始位置)に寄せる
- flex-end:下側(終了位置)に寄せる
- center:中央に配置する
- stretch:高さを最大まで広げる(デフォルト動作)
これらを指定すると、そのアイテムだけ別の位置に移動できます。ボックスの揃え方に迷ったときは「親は全体」「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を実務で使う場面とは?
Webサイトのレイアウトでは、すべての要素が同じ高さや位置になるとは限りません。たとえば、メニューの中で強調したいボタンだけ位置を調整したり、プロフィール画像だけ上に寄せたりするなど、細かな調整が必要になることがあります。
align-selfは、全体のレイアウトを崩さずに「このアイテムだけちょっと動かしたい」という場面で非常に役立ちます。特にスマートフォンなど画面幅が変わる環境では、レイアウトが崩れたときの微調整に便利です。
5. align-selfをもっと理解するための例え話
フレックスボックスを「体育館で整列している生徒たち」と考えてみましょう。先生(親要素)が「みんな中央に並んでください」と指示すると、全員が中央に整列します。これが align-items です。
しかし、ある生徒だけ「私は前に出ます」と言ったら、その子だけ前に移動します。この「自分だけ動く」動作が align-self のイメージです。
「全体をそろえる align-items」と「個別調整の align-self」をセットで覚えると、CSSのレイアウトがぐっと理解しやすくなります。
6. align-selfが効かないときのチェックポイント
align-selfがうまく反映されないときは、次のポイントを確認してみてください。
- 親要素に display: flex; が設定されているか
- フレックスアイテムとして扱われているか
- 高さや幅が適切に設定されているか
- align-items の設定が強く影響していないか
特に display: flex が設定されていないと align-self はまったく機能しません。フレックスボックスは「親がflex → 子に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 を覚えることで、フレックスボックスの扱いがさらに上達します。
【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー
「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。
本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」と「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。
具体的なワークショップ内容と環境
【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。
【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。
この60分で得られる3つの技術資産
要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。
後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。
画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。
※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。
リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら