ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > 【CSS】align-itemsの使い方を解説!flexアイテムの高さを揃える方法

【CSS】align-itemsの使い方を解説!flexアイテムの高さを揃える方法

HTML/CSS

2022/04/11

2023/05/06

align-items記事サムネイル

画像やテキストを横並びにするとき、display: flex;を指定することが多くあります。そのとき、「画像の並び方を整えたい」「要素を上下の中央に配置したい」と思うことはありませんか?

このような実装を行うには、align-items プロパティを使用します。align-items はflexアイテムの上下の配置を指定することができるプロパティです。要素の配置を統一すればレイアウトが綺麗になり、見やすいサイトを作成できます。

align-itemsの解説画像

この記事では align-items の使い方を解説します。align-items はdisplay: flex;を使用するうえで欠かせないプロパティなので、しっかり学習しておきましょう。

この記事で身につく内容
  • align-itemsとは
  • align-itemsの使い方

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

 

align-itemsとは

align-items は、flexアイテムを縦軸で見たときに「上下のどこで揃えるか」を指定するプロパティです。具体的には上揃え・中央揃え・下揃えなどができます。

flexアイテムに対して有効なプロパティであるため、display: flex;と併用して親要素に記述します。

 

align-itemsの使い方

align-items は、flexアイテムを縦軸で見たときに「上下のどこで揃えるか」を指定するプロパティです。具体的には上揃え・中央揃え・下揃えなどが可能です。

flexアイテムに対して有効なプロパティであるため、display: flex;と一緒に親要素(flexコンテナ)に指定します。

以下がCSSの基本形となります。

.flexbox {
  display: flex;
  align-items: 値;
}

align-items には、以下の値を使用します。

align-itemsの値
  • flex-start: 子要素を上部で揃える
  • flex-end: 子要素を下部で揃える
  • center: 子要素を中央で揃える
  • baseline: 子要素をテキストの下部(ベースライン)で揃える
  • stretch / normal: 親要素の高さに合わせて子要素を伸縮する

flex-start:上揃え

align-items: flex-start;は、子要素を上部で揃える指定です。

例として子要素の高さをバラバラに指定します。

HTMLの記述

<div class="flexbox">
  <div class="flex-item item01"></div>
  <div class="flex-item item02"></div>
  <div class="flex-item item03"></div>
  <div class="flex-item item04"></div>
  <div class="flex-item item05"></div>
</div>
CSSの記述
.flexbox {
  display: flex;
  align-items: flex-start;/*子要素を上部で揃える指定*/
  height: 150px;
  border: 1px solid #000;
}

.flex-item {
  background: orange;
  border: 1px solid #000;
  width: 30px;
}

.item01 {
  height: 30px;
}

.item02 {
  height: 60px;
}

.item03 {
  height: 20px;
}

.item04 {
  height: 10px;
}

.item05 {
  height: 100px;
}
出力結果

align-items: flex-start;の出力結果

子要素が上揃えになっています。

flex-start は初期値であるため、align-items を指定しない場合にもこの値が適応されます。

ZeroPlusgate50教材の動画

 

flex-end:下揃え

align-items: flex-end;は、子要素を下部で揃える指定です。

HTMLの記述

<div class="flexbox">
  <div class="flex-item item01">①</div>
  <div class="flex-item item02">②</div>
  <div class="flex-item item03">③</div>
  <div class="flex-item item04">④</div>
  <div class="flex-item item05">⑤</div>
</div>
CSSの記述
.flexbox {
  display: flex;
  align-items: flex-end;
  height: 150px;
  border: 1px solid #000;
}
 
.flex-item {
  background: orange;
  border: 1px solid #000;
  width: 30px;
}

.item01 {
  height: 30px;
}

.item02 {
  height: 60px;
}

.item03 {
  height: 20px;
}

.item04 {
  height: 10px;
}

.item05 {
  height: 100px;
}
出力結果

align-items: flex-end;の出力結果

子要素(flexアイテム)が親要素(flexコンテナ)の中で下揃えになっています。

 

center:上下中央揃え

align-items: center;は、子要素を上下中央で揃える指定です。

HTMLの記述

<div class="flexbox">
  <div class="flex-item item01">①</div>
  <div class="flex-item item02">②</div>
  <div class="flex-item item03">③</div>
  <div class="flex-item item04">④</div>
  <div class="flex-item item05">⑤</div>
</div>
CSSの記述
.flexbox {
  display: flex;
  align-items: flex-end;
  height: 150px;
  border: 1px solid #000;
}
 
.flex-item {
  background: orange;
  border: 1px solid #000;
  width: 30px;
}

.item01 {
  height: 30px;
}

.item02 {
  height: 60px;
}

.item03 {
  height: 20px;
}

.item04 {
  height: 10px;
}

.item05 {
  height: 100px;
}
出力結果

align-items: center;の出力結果

子要素(flexアイテム)が親要素(flexコンテナ)の中で中央揃えになっています。

 

baseline:テキストの下部で揃える

align-items: baseline;は、子要素をベースライン(テキストの下部)を基準として配置する指定です。例として子要素にテキストを記述して表示します。加えて、分かりやすくするために font-size を指定します。

HTMLの記述

<div class="flexbox">
  <div class="flex-item item01">①</div>
  <div class="flex-item item02">②</div>
  <div class="flex-item item03">③</div>
  <div class="flex-item item04">④</div>
  <div class="flex-item item05">⑤</div>
</div>
CSSの記述
.flexbox {
  display: flex;
  /*追加*/
  align-items: baceline;/*子要素をテキストの下部で揃える指定*/
  height: 150px;
  border: 1px solid #000;
}

.flex-item {
  background: orange;
  border: 1px solid #000;
  width: 30px;
}
.item01 {
  height: 30px;
}

.item02 {
  height: 60px;
}

.item03 {
  height: 20px;
}

.item04 {
  height: 10px;
}

.item05 {
  height: 100px;
}
出力結果

align-items: baseline;の出力結果

一列に並んだ文字(①〜⑤)に合わせて、子要素(flexアイテム)が配置されるようになりました。

 

stretch / normal:要素の伸縮

align-items: stretch;もしくはalign-items: normal;は、親要素の高さに合わせて子要素の高さを伸縮する指定です。

例として親要素の高さを150pxと指定します。

HTMLの記述

<div class="flexbox">
  <div class="flex-item"></div>
  <div class="flex-item"></div>
  <div class="flex-item"></div>
  <div class="flex-item"></div>
  <div class="flex-item"></div>
</div>
CSSの記述
.flexbox {
  display: flex;
  height: 150px;/*高さを150pxに指定*/
  align-items: stretch;/*子要素の高さが伸縮する指定*/
}

.flex-item {
  background: orange;
  border: 1px solid #000;
  width: 30px;
}
出力結果

align-items: stretch;の出力結果

子要素(flexアイテム)には height を指定していませんが、親要素(flexコンテナ)の高さに合わせて子要素の高さが変化しています。

 

まとめ

align-items はflexアイテムの上下の位置を指定するプロパティです。上揃え・中央揃え・下揃えだけでなく、要素の伸縮やテキストの位置を基準とした指定も可能です。

align-items を使用すれば、大きさの違う要素の並び方に統一感を出せます。大きさの違う画像を並べるときやflexアイテムの中にテキストがあるときなどに有用ですので、使いこなせるようになっていきましょう。

align-itemsまとめ

  • flexアイテムの位置を揃えるプロパティ
  • display: flex;と併用する
  • flexアイテムを上揃え・中央揃え・下揃え・要素の伸縮・テキストの下部で揃えることが可能

align-itemsの解説画像

関連記事

flexアイテムを縦軸ではなく横軸で見たとき、中央揃えや右揃えにするには justify-contentプロパティを使用します。justify-contentについては以下の記事が参考になりますので、ぜひご覧ください。

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

おすすめのタグ

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから