Возникли проблемы с попыткой выровнять мои окончательные элементы в макете сетки с помощью Tailwind (с React). В основном мне нужно 3 элемента поперек, а там, где не осталось 3 элементов, то есть 2 или 1, я хочу, чтобы они были центрированы.
Я пробовал какой-то col span, но не работал должным образом.
Чтобы лучше проиллюстрировать, что я пытаюсь сделать, я прикрепил несколько диаграмм.
Текущий макет:
Желаемый макет, где осталось 2 элемента:
Желаемый макет, где остался 1 элемент:
<div className = "xl:grid grid-cols-3 gap-4">
//cards .map(item)
</div>
Вы можете использовать flex
, flex-wrap
, justify-center
7 предметов:
<div class = "flex flex-wrap justify-center gap-2">
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
</div>
Выход:
8 предметов:
<div class = "flex flex-wrap justify-center gap-2">
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
<div class = "h-40 w-60 bg-cyan-200"></div>
</div>
Поиграйте с площадкой tailwind-css
@ Jeroen, я согласен с тобой, я хотел, чтобы это было просто, поэтому не включал w-[calc(33.333%_-_4px)]
, это отличный и идеальный подход к его проблеме.
отредактировал мои комментарии, так как возникла проблема, когда у меня есть 3 разных изображения для карточек (повторяющихся для каждого имени), но каждое изображение на самом деле имеет разный размер, установив точное значение w для изображения (а не w-full), а затем добавив w- 60, исправляет мою проблему. Calc также работал, однако столкнулся с проблемами с размером карточек, где содержимое не было одинаковым.
Мои мысли тоже! Если у вас есть некоторые расчеты и «произвольные значения», такие как
w-[calc(33.333%_-_4px)] aspect-square
после точногоgap-[4px]
, вы даже можете получить настройку с квадратными элементами. - Сетка для ситуации OP будет очень сложной, потому что самый сложный крайний случай на самом деле уже не сетка.