Создание адаптивной сетки квадратов в HTML и CSS

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для формирования сетки адаптивных квадратов используйте CSS Grid, устанавливая элементам сетки соотношение сторон 1:1. Это позволит сохранять квадратную форму элементов при изменении размера экрана:

HTML
Скопировать код
<div class="grid">
  <div class="square"></div>
  <!-- Добавьте новые квадраты по мере необходимости -->
</div>
CSS
Скопировать код
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}

.square {
  background: #333;
  padding-top: 100%;
  position: relative;
}

.square::before {
  content: '';
  display: block;
  padding-top: 100%;
}

Значение minmax(100px, 1fr) обеспечивает адаптацию квадратов под размер экрана, а padding-top: 100%; поддерживает их пропорции. Благодаря этому подходу макет получается универсальным и адаптивным.

Кинга Идем в IT: пошаговый план для смены профессии

Центрирование содержимого в квадратах

Для эстетичного размещения контента внутри квадратов используйте свойства CSS позиционирования:

CSS
Скопировать код
.square-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center; 
}

Примените класс .square-content к контенту, который необходимо выравнивать для придания более гармоничного вида элементам.

Использование продвинутых адаптивных настроек

Для максимальной гибкости сетки настройте количество колонок в зависимости от размера экрана:

CSS
Скопировать код
@media (max-width: 600px) {
  .grid {
    grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
  }
}

Медиа-запросы придают динамичность макету, позволяя квадратам масштабироваться под различные устройства оптимально.

Визуализация

Представьте адаптивную сетку из квадратов в виде плитки шоколада:

Markdown
Скопировать код
+---+---+---+---+   Ощущаете ли вы покоряющий аромат? 🍫 Наша сетка
| □ | □ | □ | □ |   обладает способностью к расширению и сжиманию,
+---+---+---+---+   сохранив при этом форму привлекательных квадратов!
| □ | □ | □ | □ |   
+---+---+---+---+   У нас есть плитка шоколада, всегда гибкая. Теперь
| □ | □ | □ | □ |   представьте адаптивную сетку квадратов.
+---+---+---+---+  
| □ | □ | □ | □ |   Каждый квадрат (□) сжимается и растягивается 
+---+---+---+---+   равномерно, подобно элементам нашей сетки.

**Ломайте её как угодно, всегда получите идеальный, вкусный квадратный кусочек!**

Аналогично плитке шоколада, адаптивные элементы сетки сохраняют пропорции при масштабировании.

Создание гармонии с помощью оформленного пространства

Освободите пространство вокруг элементов сетки, используя свойство grid-gap, чтобы ваш макет дышал гармонией:

CSS
Скопировать код
.grid {
  grid-gap: 10px; 
}

С помощью grid-gap можно добиться равномерного распределения пространства, что способствует улучшению читаемости и визуальной привлекательности макета.

Впечатляющие эффекты динамики для квадратов

Добавьте переходы и тени квадратам, чтобы создать эффект поднятия при наведении курсора мыши:

CSS
Скопировать код
.square:hover {
  transition: transform 0.3s ease; 
  transform: scale(1.05); 
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
}

Этот CSS-код создает эффект приподнятия квадратов при наведении и добавляет интерактивность элементам сетки.

Гибкость выравнивания с помощью CSS Flexbox

Когда использование CSS Grid кажется избыточным, CSS Flexbox предложит вам удобные опции выравнивания элементов:

HTML
Скопировать код
<div class="flex-container">
  <div class="flex-item"></div>
  <!-- Добавьте новые элементы по мере необходимости -->
</div>
CSS
Скопировать код
.flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex-item {
  flex-basis: calc(25% – 10px);
  margin: 5px;
}

Полезные материалы