Як створити адаптивний дизайн за допомогою CSS Flexbox
08.02.2026Вступ у 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 — важливий крок до створення сучасних веб-сайтів, які комфортно використовувати в будь-яких умовах.