表記の最初の引数としてまたは のいずれauto-fill
かを使用します。auto-fit
repeat()
<auto-repeat>
表記の変形repeat()
:
repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
auto-fill
がauto-fill
繰り返し数として指定されている場合、グリッド コンテナが関連する軸に明確なサイズまたは最大サイズを持っている場合、繰り返し数は、グリッドがそのグリッド コンテナをオーバーフローさせない最大の正の整数です。
https://www.w3.org/TR/css-grid-1/#valdef-repeat-auto-fill
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(auto-fill, 186px);
}
.grid>* {
background-color: green;
height: 200px;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
グリッドは、コンテナーをオーバーフローすることなく、できるだけ多くのトラックを繰り返します。

この場合、上記の例(画像を参照) を考えると、オーバーフローせずにグリッド コンテナーに収まるトラックは 5 つだけです。グリッドには 4 つのアイテムしかないため、残りのスペース内に 5 つ目のアイテムが空のトラックとして作成されます。
残りの残りのスペースであるトラック #6 は、明示的なグリッドを終了します。これは、別のトラックを配置するのに十分なスペースがなかったことを意味します。
auto-fit
auto-fit
キーワードは と同じように動作しますが、グリッド アイテムの配置auto-fill
後に空の繰り返しトラックが折りたたまれる点が異なります。
https://www.w3.org/TR/css-grid-1/#valdef-repeat-auto-fit
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(auto-fit, 186px);
}
.grid>* {
background-color: green;
height: 200px;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
グリッドはコンテナをオーバーフローさせずにできるだけ多くのトラックを繰り返しますが、空のトラックは に折りたたまれ0
ます。
折りたたまれたトラックは、 の固定トラック サイジング関数を持つものとして扱われ0px
ます。

画像の例とは異なり、auto-fill
空の 5 番目のトラックは折りたたまれており、明示的なグリッドは 4 番目のアイテムの直後で終了しています。
auto-fill
対auto-fit
この 2 つの違いは、minmax()
関数を使用すると顕著になります。
minmax(186px, 1fr)
アイテムを からグリッド コンテナーの残りのスペース186px
の一部にまで範囲指定するために使用します。
を使用するauto-fill
と、空のトラックを配置するスペースがなくなると、アイテムが大きくなります。
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(auto-fill, minmax(186px, 1fr));
}
.grid>* {
background-color: green;
height: 200px;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
を使用するauto-fit
と、すべての空のトラックが に折りたたまれるため、アイテムは残りのスペースを埋めるように成長し0px
ます。
.grid {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(auto-fit, minmax(186px, 1fr));
}
.grid>* {
background-color: green;
height: 200px;
}
<div class="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
遊び場:
オートフィル トラックの検査

自動フィット トラックの検査
