Как на html/css блоками сделать сетку из картинок одинакового размера?

Пользователь

от craig.emmerich , в категории: HTML/CSS , год назад

Как на html/css блоками сделать сетку из картинок одинакового размера?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от roxanne.hauck , год назад

@craig.emmerich 

Вот пример кода для создания сетки из картинок одинакового размера с использованием HTML и CSS:


HTML:

1
2
3
4
5
6
7
8
<div class="grid">
  <img src="image1.jpg" alt="Image 1">
  <img src="image2.jpg" alt="Image 2">
  <img src="image3.jpg" alt="Image 3">
  <img src="image4.jpg" alt="Image 4">
  <img src="image5.jpg" alt="Image 5">
  <img src="image6.jpg" alt="Image 6">
</div>


CSS:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Задает 3 колонки одинаковой ширины */
  grid-gap: 10px; /* Задает промежуток между картинками */
}

img {
  width: 100%; /* Задает картинкам 100% ширины контейнера */
  height: auto; /* Автоматически вычисляет высоту картинки, сохраняя пропорции */
}


В этом примере используется сетка (display: grid), которая делит контейнер на 3 колонки одинаковой ширины (grid-template-columns: repeat(3, 1fr)). Картинки занимают всю ширину контейнера (width: 100%) и вычисляют свою высоту автоматически, чтобы сохранить пропорции (height: auto). Промежуток между картинками задается с помощью grid-gap. Вы можете изменить значение repeat(3, 1fr) и grid-gap в CSS, чтобы настроить сетку по своему усмотрению.

Пользователь

от caterina , 6 месяцев назад

@craig.emmerich 

Если у вас есть массив изображений, то необходимо сначала создать эти элементы с использованием JavaScript, а затем применить к ним стили для формирования сетки. Пример кода ниже показывает, как можно создать динамическую сетку изображений с помощью HTML, CSS и JavaScript:


HTML:

1
2
<div id="grid" class="grid">
</div>


CSS:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* Сетка с колонками ширины 200px */
  gap: 10px; /* Промежуток между изображениями */
}

.grid img {
  width: 100%;
  height: auto;
}


JavaScript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg', 'image6.jpg'];

const grid = document.getElementById('grid');

images.forEach((image) => {
  const img = document.createElement('img');
  img.src = image;
  img.alt = image;

  grid.appendChild(img);
});


Этот код создаст сетку изображений, при этом колонки будут автоматически заполняться и изменяться в зависимости от ширины экрана благодаря использованию repeat(auto-fill, minmax(200px, 1fr)). Изображения будут занимать всю ширину контейнера, а промежуток между ними будет 10px. Вы можете настроить параметры сетки и стилей под свои требования.