ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > 【CSS】flexboxのgapを解説!余白指定が超便利に!

【CSS】flexboxのgapを解説!余白指定が超便利に!

HTML/CSS

2022/05/27

2023/05/08

flexbox gap プロパティ解説記事サムネイル

gap はflexアイテム間の余白を指定するプロパティです。gap を使用すれば margin を使用するよりも簡単に、かつ柔軟にflexアイテム間の余白を指定できます。

この記事ではgapの使い方を解説します。

この記事で身につく内容
  • gap とは
  • gap の使い方
  • gap と margin の違い
  • gap の使用例

ZeroPlus Gateについて

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

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

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

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

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

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

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

今すぐZeroPlus Gateの詳細を見る

gapとは

gap はflexアイテム間の余白を指定するプロパティです。gap は flex コンテナに有効なプロパティであるため、親要素に display: flex; と gap をそれぞれ指定します。

gap には数値と単位を指定します。gap に使用できる単位は px, em, rem, %などです。gap に指定する値が1つのときは縦・横に同一の余白が与えられます。gap に指定する値が2つのときは、縦の余白・横の余白という順に記述します。

gap は、もともと grid で使われていたプロパティです。gap のリリース後、ほどなくしてflexbox にも対応しました。

grid は flexbox とは異なるレイアウトモジュールであり、flexbox よりも高度な要素の配置を行えます。grid についてはこちらの記事で詳しく解説しています。学習にお役立てください。

gapのブラウザ対応状況

gap のブラウザ対応状況は、以下のようになっています。

gapのブラウザ状況

引用:Can I use

gapの使い方

以下は gap を使用するときの基本形です。

.flexbox {
  display: flex;
  gap: 20px;/*縦・横で同じ余白*/
  gap: 20px 30px;/*縦20px、横30pxの指定*/
}

縦・横の横の余白を個別に指定する場合はcolumn-gap、row-gapをそれぞれ使用します。

以下はgapを使用したときの記述例と出力結果です。

 <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 class="flex-item item06">⑥</div>
 </div>
.flexbox {
  display: flex;
  flex-wrap:wrap;
  text-align: center;
  height: 100px;

  gap: 20px 30px;/*縦に20px,横に30pxの余白を指定*/
}

.flex-item {
 width: 30%;
}

/*各flexアイテムの背景色*/
.item01 {
 background-color: red;
}

.item02 {
 background-color: blue;
}

.item03 {
 background-color: green;
}

.item04 {
 background-color: yellow;
}

.item05 {
 background-color: purple;
} 

.item06 {
  background-color: pink;
}

gapの出力結果

gapとmarginの違い

余白を指定するプロパティといえば、margin を使用している方も多いのではないでしょうか。gap と margin にはそれぞれ適した使用場面があります。コーディングを効率よく行うには、うまく使い分けることが大切です。

以下が gap と margin の違いです。

gapmargin
対象となる要素flexコンテナ(親要素)にのみ指定可能すべての要素に指定可能
余白の範囲

flexアイテム間の余白のみ指定できる

上下左右の外側の余白は指定できない

要素の外側すべてに余白を指定できる
要素のサイズへの影響gapの値に応じて、flexコンテナに合わせてflexアイテムの横幅・高さが変化する要素の横幅・高さは変化しない

gapのメリットとデメリット

gapを使用するメリット

margin ではなく gap を使用するメリットは、擬似クラスの指定が不要であることです。

例えば margin を用いて余白を指定する場合、最初の要素や最後の要素の周囲にも余白ができます。最初の要素や最後の要素だけを margin の範囲から外したい場合は、:not() や:nth-child などの指定が必要になり、CSSの記述量が増えてしまいます。

gap を使用すれば、最初の要素や最後の要素の外側に余白はつきません。擬似クラスを指定する必要もないので、CSSの記述量も最小限に抑えられます。

gapを使用するデメリット

gap を使用する場合は、個別のflexアイテムに余白を指定することができません。特定の要素に対してのみ余白を与えたい場合は、gap ではなく margin を使用するとよいでしょう。

gapの使用例

当メディアでも gap を使用しています。ヘッダーのナビゲーション部分では、display: flex; と gap を活用しています。

gapの使用例

まとめ

gapはflexアイテム間の余白を指定するプロパティです。gapを使用すれば flexbox レイアウトの余白指定が効率的に行えるので、使いこなせるようになりましょう。

gapまとめ

  • flexアイテム間の余白を指定するプロパティ
  • flexコンテナに指定する
  • 縦・横の余白を同時に指定できる
  • 上下左右の外側の余白は指定できない
  • flexアイテム自体には指定できない
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

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

詳しくはこちらから