CSSgap プロパティは、行や列の間のすき間 () を定義します。これは row-gap 及び column-gap一括指定です。

CSS グリッドレイアウトでは、当初は grid-gap プロパティを定義していました。この接頭辞付きのプロパティは gap に置き換えられました。しかし、グリッドで grid-gap を実装していて gap を実装していないブラウザーに対応するため、上記のデモにあるように、接頭辞付きのプロパティを使用する必要があるでしょう。

構文

/* 単一の <length> 値 */
gap: 20px;
gap: 1em;
gap: 3vmin;
gap: 0.5cm;

/* 単一の <percentage> 値 */
gap: 16%;
gap: 100%;

/* 二つの <length> 値 */
gap: 20px 10px;
gap: 1em 0.5em;
gap: 3vmin 2vmax;
gap: 0.5cm 2mm;

/* 一つ又は二つの <percentage> 値 */
gap: 16% 100%;
gap: 21px 82%;

/* calc() 値 */
gap: calc(10% + 20px);
gap: calc(20px + 10%) calc(10% - 5px);

/* グローバル値 */
gap: inherit;
gap: initial;
gap: unset;

このプロパティは <'row-gap'> の値と、任意で <'column-gap'> の値を続けて指定します。 <'column-gap'> が省略された場合、 <'row-gap'> と同じ値が設定されます。

<'row-gap'> 及び <'column-gap'> はそれぞれ、 <length> 又は <percentage> で指定します。

<length>
グリッド線を隔てる溝の幅です。
<percentage>
要素の寸法に対する、グリッド線を隔てる溝の幅です。

形式文法

<'row-gap'> <'column-gap'>?

フレックスレイアウト

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

HTML

<div id="flexbox">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

CSS

#flexbox {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  gap: 20px 5px;
}

#flexbox > div {
  border: 1px solid green;
  background-color: lime;
  flex: 1 1 auto;
  width: 100px; 
  height: 50px; 

}

結果

グリッドレイアウト

HTML

<div id="grid">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

CSS

#grid {
  display: grid;
  height: 200px;
  grid-template: repeat(3, 1fr) / repeat(3, 1fr);
  gap: 20px 5px;
}

#grid > div {
  border: 1px solid green;
  background-color: lime;
}

結果

段組みレイアウト

HTML

<p class="content-box">
  This is some multi-column text with a 40px column
  gap created with the CSS <code>gap</code> property.
  Don't you think that's fun and exciting? I sure do!
</p>

CSS

.content-box {
  column-count: 3;
  gap: 40px;
}

結果

仕様書

仕様書 状態 備考
CSS Box Alignment Module Level 3
gap の定義
草案 初回定義

初期値一括指定の各プロパティとして
適用対象grid containers
継承なし
メディア視覚
計算値一括指定の各プロパティとして
  • row-gap: 指定通りで、 <length> は絶対長になり、 normal の計算値は段組み要素を除き 0 になる
  • column-gap: 指定通りで、 <length> は絶対長になり、 normal の計算値は段組み要素を除き 0 になる
アニメーションの種類一括指定の各プロパティとして
正規順序形式文法で定義される一意のあいまいでない順序

ブラウザーの対応

フレックスレイアウトでの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome ? Edge ? Firefox 完全対応 63IE 未対応 なしOpera ? Safari 未対応 なしWebView Android ? Chrome Android ? Edge Mobile 未対応 なしFirefox Android 完全対応 63Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明

グリッドレイアウトでの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 66
完全対応 66
完全対応 57
代替名
代替名 非標準の名前 grid-gap を使用しています。
完全対応 29
代替名 無効
代替名 非標準の名前 grid-gap を使用しています。
無効 From version 29: this feature is behind the Enable experimental Web Platform features preference. To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 16
完全対応 16
完全対応 16
代替名
代替名 非標準の名前 grid-gap を使用しています。
Firefox 完全対応 61
完全対応 61
完全対応 52
代替名
代替名 非標準の名前 grid-gap を使用しています。
完全対応 40
代替名 無効
代替名 非標準の名前 grid-gap を使用しています。
無効 From version 40: this feature is behind the layout.css.grid.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 53
完全対応 53
完全対応 44
代替名
代替名 非標準の名前 grid-gap を使用しています。
完全対応 28
代替名 無効
代替名 非標準の名前 grid-gap を使用しています。
無効 From version 28: this feature is behind the Enable experimental Web Platform features preference.
Safari 完全対応 10.1
代替名
完全対応 10.1
代替名
代替名 非標準の名前 grid-gap を使用しています。
WebView Android 完全対応 66
完全対応 66
完全対応 57
代替名
代替名 非標準の名前 grid-gap を使用しています。
Chrome Android 完全対応 66
完全対応 66
完全対応 57
代替名
代替名 非標準の名前 grid-gap を使用しています。
完全対応 29
代替名 無効
代替名 非標準の名前 grid-gap を使用しています。
無効 From version 29: this feature is behind the Enable experimental Web Platform features preference. To change preferences in Chrome, visit chrome://flags.
Edge Mobile 未対応 なしFirefox Android 完全対応 61
完全対応 61
完全対応 52
代替名
代替名 非標準の名前 grid-gap を使用しています。
完全対応 40
代替名 無効
代替名 非標準の名前 grid-gap を使用しています。
無効 From version 40: this feature is behind the layout.css.grid.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android 完全対応 53
完全対応 53
完全対応 44
代替名
代替名 非標準の名前 grid-gap を使用しています。
Safari iOS 完全対応 10.3
代替名
完全対応 10.3
代替名
代替名 非標準の名前 grid-gap を使用しています。
Samsung Internet Android 完全対応 6.0
代替名
完全対応 6.0
代替名
代替名 非標準の名前 grid-gap を使用しています。
<percentage> values
実験的
Chrome 完全対応 66Edge 完全対応 16Firefox 完全対応 52IE 未対応 なしOpera 完全対応 53Safari 未対応 なしWebView Android 完全対応 66Chrome Android 完全対応 66Edge Mobile 未対応 なしFirefox Android 完全対応 52Opera Android 完全対応 53Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
calc() values
実験的
Chrome 完全対応 66Edge ? Firefox 完全対応 52IE 未対応 なしOpera 完全対応 53Safari 未対応 なしWebView Android 完全対応 66Chrome Android 完全対応 66Edge Mobile 未対応 なしFirefox Android 完全対応 52Opera Android 完全対応 53Safari iOS 未対応 なしSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。
非標準の名前を使用しています。
非標準の名前を使用しています。

段組みレイアウトでの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 66Edge 完全対応 16Firefox 完全対応 61IE 未対応 なしOpera 完全対応 53Safari 未対応 なしWebView Android 完全対応 66Chrome Android 完全対応 66Edge Mobile ? Firefox Android 完全対応 61Opera Android 完全対応 53Safari iOS 未対応 なしSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明

 

関連情報