EDIT:
Я думал, что это будет работать:
.parent {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr;
grid-auto-columns: 1fr;
}
.child:first-child {
grid-row: 1;
grid-column: 1 / -1;
}
.child:not(:first-child) {
grid-row: 2;
}
Однако, похоже, grid-column: 1 / -1
не работает для автоколонок. Это очень неудачно. Таким образом, лучший способ здесь - использовать flexbox, как уже указывалось.
Предыдущий ответ
Вы должны решить эту проблему следующим образом:
.parent {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 1fr;
grid-auto-columns: 1fr;
grid-auto-flow: column;
}
.child:nth-child(1) {
grid-column: 1/-1;
}
Ключ grid-auto-flow
, который установит sh, что любые непредвиденные элементы будут добавлены как дополнительные столбцы. С помощью grid-auto-columns
вы можете указать размер автоматически добавляемых столбцов по умолчанию.