Як створити адаптивний дизайн за допомогою CSS Flexbox

08.02.2026 0 By AdminA

Вступ у CSS Flexbox

Сучасний веб-дизайн вимагає адаптивності, щоб сайти були зручними на будь-яких пристроях — від смартфонів до великих моніторів. CSS Flexbox — потужний інструмент, що допомагає легко створювати гнучкі макети з мінімальним кодом.

Основи Flexbox: що потрібно знати

Flexbox, або Flexible Box Layout, дозволяє розміщувати елементи в контейнері аналітично з урахуванням доступного простору. Основні компоненти Flexbox включають:

  • контейнер flex: елемент, для якого встановлено display: flex;
  • flex-елементи: безпосередні діти контейнера, які розташовуються відповідно до властивостей flex;
  • осьова система: основна вісь (main axis) і перпендикулярна їй допоміжна вісь (cross axis);
  • властивості: flex-direction, justify-content, align-items, flex-wrap та інші, що керують розташуванням і поведінкою елементів.

Приклад простої структури Flexbox

Щоб активувати Flexbox, достатньо додати до контейнера CSS-властивість display: flex;. Елементи автоматично стануть гнучкими і впорядкованими за замовчуванням.

Ключові властивості для адаптивного дизайну

Для створення дійсно адаптивного макету важливо розуміти, як використовувати основні властивості Flexbox.

flex-direction

Визначає напрямок розташування елементів у контейнері.

  • row — елементи йдуть по горизонталі (за замовчуванням);
  • column — по вертикалі;
  • row-reverse та column-reverse — у зворотному порядку.

justify-content

Вирівнює елементи по основній осі.

  • flex-start — вирівнювання з початку;
  • center — по центру;
  • space-between, space-around, space-evenly — створення відступів між елементами.

align-items та align-content

Відповідають за вирівнювання елементів по перпендикулярній осі.

flex-wrap

Дозволяє елементам переноситись на новий рядок або стовпець, якщо вони не поміщаються.

Практичний приклад: адаптивне меню

Розглянемо приклад простого адаптивного меню, яке змінює розташування елементів залежно від ширини екрану.

.menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  background-color: #333;
}
.menu-item {
  color: white;
  padding: 10px 20px;
  text-align: center;
  flex: 1 1 100px;
}
@media (max-width: 600px) {
  .menu {
    flex-direction: column;
    align-items: center;
  }
}

У цьому коді меню розташоване горизонтально на великих екранах і переходить у вертикальний стовпець на екранах шириною менше 600px.

Поради для ефективного використання Flexbox

  • Використовуйте flex-grow та flex-shrink для контролю розмірів елементів під час зміни розміру екрану.
  • Застосовуйте медіа-запити для зміни властивостей Flexbox відповідно до розміру пристрою.
  • Комбінуйте Flexbox із Grid Layout для складних макетів.
  • Перевіряйте дизайн у різних браузерах і на різних пристроях.

Висновок

CSS Flexbox — це гнучкий інструмент для створення адаптивних вебінтерфейсів. Завдяки простоті синтаксису та широкому набору властивостей він допомагає розробникам швидко розробляти ефективні макети під будь-які пристрої. Освоєння Flexbox — важливий крок до створення сучасних веб-сайтів, які комфортно використовувати в будь-яких умовах.

Comments

comments