Вместо того, чтобы устанавливать для grid-template-row / grid-template-column значение auto, лучше использовать функцию повтора, чтобы настроить сетку 6x6. Чтобы # box2 заполнил все пространство, вы должны убедиться, что оно проходит весь путь. Инспектор сетки в ваших devtools покажет вам, какие строки занимает каждый элемент. Так что вместо grid-column: span 5/6, это grid-column 5/7. То же самое касается # box3, где это строка сетки: диапазон 4/6 вместо строки сетки: диапазон 4/5;
.grid-container {
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-template-rows: repeat(6,1fr);
background-color: #2196F3;
padding: 5px;
}
.grid-item {
background-color: rgba(255, 255, 255, 0.8);
border: 1px solid rgba(0, 0, 0, 0.8);
padding: 20px;
font-size: 30px;
text-align: center;
}
#box1 {
grid-column: 1 / span 4;
grid-row: 1 / span 2;
}
#box2 {
grid-column: 5 / 7;
grid-row: 1 / span 6;
}
#box3 {
grid-column: 1 / span 4;
grid-row: span 4 / span 6;
}
<div class="grid-container">
<div class="grid-item" id="box1">1</div>
<div class="grid-item" id="box2">2</div>
<div class="grid-item" id="box3">3</div>
</div>