0

Як центрувати div у CSS (Flexbox)

Візуальний конструктор макета CSS flexbox: flex-direction, justify-content, align-items, flex-wrap і gap контейнера, а також flex-grow, flex-shrink і flex-basis кожного дочірнього елемента — з живим прев'ю і готовим до копіювання CSS.

Опрацювання... 0%

Результат

Ось пряма відповідь на найпопулярніше запитання в CSS: щоб центрувати div, додайте display: flex, justify-content: center і align-items: center на його батьківський елемент. Все — три декларації на контейнері, і дочірній елемент лягає точно по центру і горизонтально, і вертикально, незалежно від розміру. Ця сторінка відкриває генератор саме з такою комбінацією, тож прев'ю нижче вже показує це наживо на трьох пронумерованих блоках.

До flexbox центрування div потребувало хитрощів: margin: 0 auto центрував лише горизонтально і лише для блоку фіксованої ширини; вертикальне центрування означало position: absolute з від'ємними полями або трюк із transform — обидва крихкі, щойно змінювався розмір вмісту. justify-content керує головною віссю, а align-items — поперечною: разом вони центрують в обох напрямках незалежно від висоти чи ширини дочірнього елемента, тому саме ця пара стала стандартною відповіддю.

Посуньте будь-який контроль нижче і подивіться, як три прев'ю-блоки лишаються по центру, поки контейнер змінює форму, або додайте між ними gap. Коли вигляд влаштовує, скопіюйте блок CSS знизу просто у ваш стиль — він однаково працює в кожному сучасному браузері, без жодної бібліотеки.