Вы не можете указать только 2 строки , но вы можете попытаться установить для последних строк значение minmax(0,0)
в стороне overflow:hidden;
..., чтобы скрыть их:
section {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 1em;
overflow: hidden;
grid-template-rows: minmax(100px, 1fr) minmax(100px, 1fr) minmax(0px, 0); /* third-row won't show, next might , grid-gap will increase height of section if set */
}
section {
counter-reset: divs;
}
div {
border: solid;
}
div:before {
counter-increment: divs;
content: counter(divs)
}
p:before {
color:red;
content: counter(divs)
}
<section>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</section>
<p> boxes are standing here </p>
при этом скрывается третья строка, если больше, то появляется какой-то элемент, поскольку набор grid-gap
будет увеличивать height
для каждой дополнительной строки.
Вы можете использовать margin
вместо grid-gap
и добавлять для каждой дополнительной строки, чтобы скрыть значение mimax(0,0)
для grid-template-rows
.
Еще одна демонстрация ниже , показывающая один ряд (из 7) и 2 поля (из 14).
section {counter-reset:divs;}
div {border:solid;margin:0.5em;}
div:before {counter-increment:divs;content:counter(divs)}
section {
display:grid;
grid-template-columns:1fr 1fr;
overflow:hidden;
grid-template-rows:
minmax(100px,1fr) /* row to be seen */
minmax(0,0)
minmax(0,0)
minmax(0,0)
minmax(0,0)
minmax(0,0)
minmax(0,0) ;/* 7 rows values set , 6 rows can be hidden */
}
p:before {
color:red;
content: counter(divs)
}
<section>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</section>
<p> boxes are standing here.</p>
демо (скрыть / показать) так много строк