Вот простая сетка (всего двадцать .grid_item
s):
<div class="grid">
<h1 class="grid_item">300 px row, 1fr column</h1>
<h1 class="grid_item">300 px row, 1fr column</h1>
<h1 class="grid_item">300 px row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">100 px row, 1fr column </h1>
<h1 class="grid_item">100 px row, 1fr column </h1>
<h1 class="grid_item">100 px row , 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
<h1 class="grid_item">1fr row, 1fr column</h1>
</div>
CSS:
.grid{
display: grid;
grid-template-columns: 1fr 1fr 1fr; /*Entire column is 1fr 1fr 1fr*/
grid-template-rows: 600px 1fr 100px; /*Only first three rowsare 600px 1fr 100px; ?*/
grid-gap: 20px;
}
Примечание. То, что я собираюсь попытаться объяснить, можно увидеть здесь: https://jsfiddle.net/xth3ky0m/3/
Когда отображается сетка, каждый <h1 class = "grid_item"><h1>
отображается в соответствии с grid-template-columns: 1fr 1fr 1fr;
, но только первые три строки следуют за grid-template-rows: 300px 1fr 100px;
. После первых трех строк каждая строка составляет всего 1fr
. Шаблон строки 300px 1fr 100px
не повторяется автоматически, как шаблон столбца 1fr 1fr 1fr
. Почему это?