Гнучке макетування (Flexbox)
Flexbox — це сучасний спосіб розміщення елементів на сторінці, який дозволяє легко створювати гнучкі структури (макети).
Щоб активувати Flexbox, батьківському елементу (контейнеру) потрібно задати властивість display: flex;.

Основні властивості контейнера:
  • flex-direction: Визначає напрямок елементів (row — у рядок, column — у стовпчик).
  • justify-content: Вирівнює елементи вздовж головної осі (наприклад, center, space-between).
  • align-items: Вирівнює елементи по вертикалі.
  • flex-wrap: Дозволяє елементам переноситися на новий рядок, якщо вони не вміщуються.
Розглянемо приклад застосування властивостей Flexbox.
<html>
<head>
<style>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  background-color: lightgray;
}
 
.box {
  width: 80px;
  height: 80px;background-color: steelblue;
  margin: 10px;
}

1. Загальна структура HTML
<!DOCTYPE html> — повідомляє браузеру, що це HTML5.
<html> — початок сторінки.
<head> — службова частина (стилі, налаштування).
<body> — те, що ми бачимо на екрані.

2. Обнулення відступів
CSS
body { margin: 0; } 
Браузер за замовчуванням додає відступи.  Ми їх прибираємо, щоб блок був точно по центру.

3. Flex-контейнер
CSS
.container { display: flex;
Вмикаємо Flexbox. Всі дочірні елементи стають «гнучкими».

4. Вирівнювання по горизонталі  
CSS
justify-content: center;
 Розташовує елементи по центру зліва-направо.

5. Вирівнювання по вертикалі  
CSS
align-items: center;
Розташовує елементи по центру зверху-вниз.

6. Висота контейнера
CSS
height: 100vh; 
100vh = вся висота екрана. Завдяки цьому можна побачити вертикальне центрування

7. Фон контейнера
CSS
background-color: lightgray;
Світло-сірий фон, щоб було видно область контейнера.

8. Стилі для квадратиків
CSS
.box {
width: 80px;
height: 80px;
background-color: steelblue;
margin: 10px; }
width / height → квадрат 80×80 px; background-color → синій колір;  margin → відступ між квадратами.

9. HTML-частина (що відображається)  
<div class="container">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>

Є 1 контейнер — це «коробка», яка вирівнює все всередині.
3 однакові блоки всередині. box — це елементи, які ми рухаємо.

9.PNG

В результаті на екрані відображаються  3 сині квадрати, які стоять в один ряд (row — за замовчуванням) і розташовані по центру сторінки (і горизонтально, і вертикально) .