Я пытаюсь создать сетку из 3 столбцов с 2 строками для отображения моих проектов в моем портфолио, но они, похоже, заполняют только первый столбец. Я пробовал и пробовал, но просто не знаю, что делать, чтобы заставить его работать.
Изображение, показывающее, как файлы не выстраиваются в столбцы:

Какими я хочу, чтобы они были:

HTML / PHP
<div id = "projects">
<div class = "project-item-container">
<div class = "project-item">
<?php foreach ($projects as $projectItem) {?>
<div class = "project-item-img">
<img class = "absolute-center" src = "assets/img/<?php echo $projectItem["img"]; ?>.png" alt = "<?php echo $projectItem["name"]; ?>">
</div><!-- project item img end -->
<div class = "project-item-info">
<h2><?php echo $projectItem["name"]; ?></h2>
<h4><?php echo $projectItem["category"]; ?></h4>
</div><!-- project item info end -->
<?php } ?>
</div><!-- project item end -->
</div><!-- project-item container end -->
CSS
.project-item-container {
display: grid;
grid-template-columns: 400px 400px 400px;
grid-gap: 40px;
}
.project-item img {
max-width: 100%;
display: block;
}
.project-item-info {
text-align: center;
position: relative;
top: -50px;
background-color: #ffffff;
height: 100px;
padding: 10px 0;
}
Я пытался, но из-за PHP он тоже не работает, и мне кажется, что PHP - одна из причин, по которой он может не работать.
Мне никогда не приходило в голову, что я мог просто просмотреть исходный код страницы и извлечь то, что выплюнул php lol, поэтому я сделал это, и вот jsfiddle jsfiddle.net/m2x3w7b8






Я думаю, вам следует поместить .project-item в цикл forEach. На этом сайте есть отличный список примеров: https://css-tricks.com/snippets/css/complete-guide-grid/
Боже мой, это сработало. Я могла плакать, спасибо! :)))))))))))))
Ваш CSS должен выглядеть примерно так ...
#projects {
width: 92%;
padding: 4rem 0;
margin: 0 auto;
}
.project-item-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
justify-content: center;
grid-gap: 4rem;
}
.project-item img {
width: 400px;
max-width: 100%;
display: block;
}
.project-item-info {
padding: 1rem 0;
text-align: center;
}
Спасибо, не понимал, что есть свойство центрировать вещи, я просто собирался сойти с ума, выясняя, как все это центрировать!
было бы очень полезно, если бы вы разместили codepen / jsfiddle