Как я могу сопоставить массив с сеткой HTML?

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

Это текущий выход

Стремление иметь -

[123]

Код -

<div className = "image-grid">
       <SRLWrapper options = {options}>
                        {data.home.galleryImage.map((image, index, caption) => (
                              <div className = "image-item" key = {`${index}-cl`}>
                               <img src = {`http:XXX${image.url}`} alt = "" class = "galleryimg"/>
                               <div class = "imgoverlay">
                                <div class = "imgtext">zoomie</div>
                              </div>
                              </div>
                        ))  
                        }
      </SRLWrapper>
</div>

css-

.image-grid {  
    display: grid;
    grid-template-columns: repeat(3, minmax(100px, 1fr));
    column-gap: 2rem;
  }

  .image-item {
    position: relative;
    width: 100%;
    display: block;
    margin-bottom: 2rem;
    
  }

«Использовать ли CSS или JavaScript» не имеет смысла. Один из них — механизм стилей, а другой — язык сценариев. Я попытался отредактировать ваш заголовок в связный вопрос. Не стесняйтесь пересматривать дальше. Кроме того, кажется, что вы должны пометить React или что-то в этом роде.

isherwood 14.12.2020 18:52

Было бы полезно, если бы вы показали нам обработанный HTML, а не свой шаблон.

isherwood 14.12.2020 18:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
1 828
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В файле CSS

grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));

поменяй autofit на 3 может сработает

Спасибо за ваш ответ, который сделал сетку более красивой, но по-прежнему имеет контент только в левой колонке - imgur.com/a/QKGYLaq

Andrew Williamson 14.12.2020 19:02
Ответ принят как подходящий

Причина проста. Ваше свойство display:grid применяется только к компоненту SRLWrapper.

Вам нужно установить набор className = "image-grid" в родительском элементе вашего компонента SRLWrapper, и тогда он будет работать :)

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

Одна хитрость: всегда используйте консоль разработчика (Ctrl+Shift+I) для отладки этих сценариев, потому что там мы получаем реальную картину.

Надеюсь, вы поняли, о чем я говорю.

Imran Rafiq Rather 14.12.2020 19:12

Наслаждайтесь Mate :) Добро пожаловать. Удачного кодирования :)

Imran Rafiq Rather 14.12.2020 19:19

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