Важливо! Вертикальний центр відносно висоти материнки
Якщо батьківський елемент елемента, який ви намагаєтеся центрирувати , не має визначеної
висоти , жодне з вертикальних центрових рішень не працюватиме!
Тепер на вертикальне центрування у Bootstrap 4 ...
Ви можете використовувати нові утиліти flexbox & size, щоб зробити container
повний зріст і display: flex
. Ці параметри не потребують додаткового CSS (за винятком того, що висота контейнера (тобто: html, body) повинна бути 100% ).
Варіант 1 align-self-center
на дошці flexbox
<div class="container d-flex h-100">
<div class="row justify-content-center align-self-center">
I'm vertically centered
</div>
</div>
https://www.codeply.com/go/fFqaDe5Oey
Варіант 2 align-items-center
на батьківському флексі ( .row
є display:flex; flex-direction:row
)
<div class="container h-100">
<div class="row align-items-center h-100">
<div class="col-6 mx-auto">
<div class="jumbotron">
I'm vertically centered
</div>
</div>
</div>
</div>
https://www.codeply.com/go/BumdFnmLuk
Варіант 3 justify-content-center
на батьківському флексоксі ( .card
є display:flex;flex-direction:column
)
<div class="container h-100">
<div class="row align-items-center h-100">
<div class="col-6 mx-auto">
<div class="card h-100 border-primary justify-content-center">
<div>
...card content...
</div>
</div>
</div>
</div>
</div>
https://www.codeply.com/go/3gySSEe7nd
Детальніше про вертикальне центрування Bootstrap 4
Тепер, коли Bootstrap 4 пропонує флексбокс та інші утиліти , існує багато підходів до вертикального вирівнювання. http://www.codeply.com/go/WG15ZWC4lf
1 - Вертикальний центр з використанням автоматичних полів:
Ще один спосіб вертикального центру - це використання my-auto
. Це буде центрувати елемент в його контейнері. Наприклад, h-100
зробить рядок на повну висоту і my-auto
буде вертикально розташовувати col-sm-12
стовпчик.
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
Вертикальний центр за допомогою демонстрації автоматичних полів
my-auto
представляє поля на вертикальній осі у і еквівалентно:
margin-top: auto;
margin-bottom: auto;
2 - Вертикальний центр з Flexbox:
Оскільки Bootstrap 4 .row
тепер, display:flex
ви можете просто використовувати його align-self-center
на будь-якому стовпчику, щоб вертикально його центрировать ...
<div class="row">
<div class="col-6 align-self-center">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
або, використовуйте align-items-center
цілком, .row
щоб вертикально вирівняти по центру всі col-*
рядки ...
<div class="row align-items-center">
<div class="col-6">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
Демонстрація висоти стовпців вертикального центру
Дивіться цю Q / A на центр, але підтримуйте рівну висоту
3 - Вертикальний центр за допомогою утилітів відображення:
Бутстрап 4 має дисплей утиліти , які можуть бути використані для display:table
, display:table-cell
, display:inline
і т.д .. Вони можуть бути використані з вертикальними утилітами вирівнювання для вирівнювання інлайн, вбудований блок або елементи елементів таблиці.
<div class="row h-50">
<div class="col-sm-12 h-100 d-table">
<div class="card card-block d-table-cell align-middle">
I am centered vertically
</div>
</div>
</div>
Вертикальний центр за допомогою демонстраційних утиліт Demo
Більше прикладів
Вертикальне зображення центру у <div>
вертикальному центрі .row in .container
Вертикальний центр і низ <div>
у вертикальному центрі дочірника
всередині батьківського
вертикального центрального повного екрану jumbotron
Важливо! Я згадав висоту?
Пам'ятайте, що вертикальне центрування відносно висоти батьківського елемента. Якщо ви хочете зосередити всю сторінку, в більшості випадків це повинен бути ваш CSS ...
body,html {
height: 100%;
}
Або використовувати min-height: 100vh
( min-vh-100
у Bootstrap 4.1+) на батьківському / контейнері. Якщо ви хочете централізувати дочірній елемент всередині батьків. Батько повинен мати певну висоту .
Також дивіться:
Вертикальне вирівнювання в завантажувальній системі 4
Bootstrap 4 Центр вертикальної та горизонтальної вирівнювання