Как я могу заставить работать дочерний элемент в моей CSS-сетке?

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

Изображение, показывающее, как файлы не выстраиваются в столбцы: Как я могу заставить работать дочерний элемент в моей CSS-сетке?

Какими я хочу, чтобы они были: Как я могу заставить работать дочерний элемент в моей CSS-сетке?

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;
}

было бы очень полезно, если бы вы разместили codepen / jsfiddle

Matthias Schmidt 04.07.2018 18:15

Я пытался, но из-за PHP он тоже не работает, и мне кажется, что PHP - одна из причин, по которой он может не работать.

Kaleshe Alleyne-Vassel 04.07.2018 18:22

Мне никогда не приходило в голову, что я мог просто просмотреть исходный код страницы и извлечь то, что выплюнул php lol, поэтому я сделал это, и вот jsfiddle jsfiddle.net/m2x3w7b8

Kaleshe Alleyne-Vassel 04.07.2018 18:23
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
3
71
2

Ответы 2

Я думаю, вам следует поместить .project-item в цикл forEach. На этом сайте есть отличный список примеров: https://css-tricks.com/snippets/css/complete-guide-grid/

Боже мой, это сработало. Я могла плакать, спасибо! :)))))))))))))

Kaleshe Alleyne-Vassel 04.07.2018 18:24

Ваш 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;
}

How it rendered on my screen

Спасибо, не понимал, что есть свойство центрировать вещи, я просто собирался сойти с ума, выясняя, как все это центрировать!

Kaleshe Alleyne-Vassel 04.07.2018 18:50

Другие вопросы по теме