Как сверстать грид в гриде с динамической шириной и переносом карточек?

Набросал в песочнице базовый пример.
Суть задачи в следующем:
Есть грид-контейнер (.grid), в котором может быть любое количество прямых потомков (.grid-element).
Внутри каждого .grid-element может быть произвольное количество карточек (.grid-card)
Необходимо динамически устанавливать ширину каждого .grid-element, в зависимости от количества его карточек, а также карточек его nth-chind(even/odd).
Ширина каждой карточки должна быть не меньше и не больше 25% ширины .grid (не .grid-element!). Например, в песочнице вижно, что первый и третий .grid-element занимают 50% ширины родителя. А требуется, чтобы при таком количестве карточек (по одной) они занимали 25% от родителя. И только если у кого-то из них появился 2+ карточек, тогда начинали занимать 50%. Иначе говоря, если у первого .grid-element одна карточка (и у третьего тоже) - то карточка эта занимает ширину 100% родителя, а сам родитель занимает 25% от .grid. А если, скажем, в третьем (или первом) появляется вторая карточка - то и первый и третий начинают занимать 50% от .grid, а карточки внутри них - 50% от .grid-element. Аналогично и с четными .grid-element Т.е. получается, что карточка как бы всегда шириной в 25% от .grid.

Надеюсь не слишком сумбурно))

Возможно ли сделать подобное, используя css grid? Или, черт с ним, хоть на флексах/флоатах, на чем угодно). Не получается ни так, ни эдак сделать.
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы