gap (grid-gap)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
gap
は CSS のプロパティで、行や列の間のすき間 (溝) を定義します。これは row-gap
および column-gap
の一括指定です。
試してみましょう
構文
css
/* 単一の <length> 値 */
gap: 20px;
gap: 1em;
gap: 3vmin;
gap: 0.5cm;
/* 単一の <percentage> 値 */
gap: 16%;
gap: 100%;
/* 2 つの <length> 値 */
gap: 20px 10px;
gap: 1em 0.5em;
gap: 3vmin 2vmax;
gap: 0.5cm 2mm;
/* 1 つまたは 2 つの <percentage> 値 */
gap: 16% 100%;
gap: 21px 82%;
/* calc() 値 */
gap: calc(10% + 20px);
gap: calc(20px + 10%) calc(10% - 5px);
/* グローバル値 */
gap: inherit;
gap: initial;
gap: revert;
gap: unset;
このプロパティは <'row-gap'>
の値と、任意で <'column-gap'>
の値を続けて指定します。 <'column-gap'>
が省略された場合、 <'row-gap'>
と同じ値が設定されます。
<'row-gap'>
および <'column-gap'>
はそれぞれ、 <length>
または <percentage>
で指定します。
値
<length>
-
グリッド線を隔てる溝の幅です。
<percentage>
-
要素の寸法に対する、グリッド線を隔てる溝の幅です。
公式定義
初期値 | 一括指定の次の各プロパティとして
|
---|---|
適用対象 | 段組み要素、フレックスコンテナー、グリッドコンテナー |
継承 | なし |
計算値 | 一括指定の次の各プロパティとして
|
アニメーションの種類 | 一括指定の次の各プロパティとして |
形式文法
gap =
<'row-gap'> <'column-gap'>?
<row-gap> =
normal |
<length-percentage [0,∞]>
<column-gap> =
normal |
<length-percentage [0,∞]>
<length-percentage> =
<length> |
<percentage>
例
フレックスレイアウト
HTML
html
<div id="flexbox">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
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
html
<div id="grid">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
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
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
css
.content-box {
column-count: 3;
gap: 40px;
}
結果
仕様書
Specification |
---|
CSS Box Alignment Module Level 3 # gap-shorthand |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- 関連する CSS プロパティ:
row-gap
,column-gap
- グリッドレイアウトガイド: グリッドレイアウトの基本概念 - 溝