Как вставить grid в grid?

В HTML можно вставлять сетки (grid) внутри других сеток, используя CSS свойство display: grid. Главное, чтобы родительская сетка (grid container) имела установленное значение этого свойства.

Для создания подсетки (subgrid) внутри родительской сетки, необходимо выполнить несколько шагов:

1. Установите значение grid-template-rows и grid-template-columns для родительской сетки. Это определит количество и ширину (или высоту) ячеек в родительской сетке. Например:

.parent-grid {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
} 

В этом примере мы создаем 2 строки и 2 столбца в родительской сетке.

2. Внутри одной из ячеек родительской сетки создайте дочернюю сетку с использованием того же свойства display: grid. Например:

.child-grid {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}

В этом примере мы создаем 2 строки и 2 столбца в дочерней сетке.

3. Разместите дочернюю сетку в родительской сетке, используя свойство grid-area. Например:

.child-grid {
  grid-area: 1 / 2 / 3 / 3;
}

В этом примере мы указываем, что дочерняя сетка должна быть размещена в родительской сетке от первой строки и второго столбца до третьей строки и третьего столбца.

Теперь вы создали подсетку внутри родительской сетки. Вы можете продолжать добавлять дочерние элементы в дочернюю сетку и настраивать их расположение и размеры, а также применять другие CSS свойства.

Заметьте, что поддержка подсетки (subgrid) может не быть полной на всех браузерах, поэтому перед использованием вам нужно проверить текущую поддержку ваших таргетированных браузеров.