Оновлення 2019 - Bootstrap 4
"Центрированный контент" може означати багато різних речей, і центрування Bootstrap сильно змінилося з моменту початкової публікації.
Горизонтальний центр
Завантаження 3
text-center
використовується для display:inline
елементів
center-block
до центральних display:block
елементів
col-*offset-*
до центру сітки стовпців
- дивіться цю відповідь, щоб зосереджувати панель навігації
Demo Bootstrap 3 Горизонтальне центрування
Завантаження 4
text-center
як і раніше використовується для display:inline
елементів
mx-auto
замінює center-block
на центральні display:block
елементи
offset-*
або mx-auto
може використовуватися для центральної колони сітки
justify-content-center
в row
також можна використовувати для центруcol-*
mx-auto
(Авто х-осі поля) буде центрувати display:block
або display:flex
елементи, які мають певну ширину , ( %
, vw
, px
і т.д ..). Flexbox використовується за замовчуванням у колонках сітки, тому існують також різні методи центрування flexbox.
Demo Bootstrap 4 Горизонтальне центрування
Вертикальний центр
Тепер, коли Bootstrap 4 за замовчуванням є flexbox, існує багато різних підходів до вертикального вирівнювання, використовуючи: автоматичні поля , утиліти flexbox або утиліти відображення разом з утилітами вертикального вирівнювання . Спочатку "утиліти вертикального вирівнювання" здаються очевидними, але вони працюють лише з елементами відображення вбудованого та таблиці. Ось кілька варіантів вертикального центрування Bootstrap 4.
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>
Демонстрація висоти стовпців вертикального центру
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