У Bootstrap 4 слід використовувати text-center
клас для вирівнювання вбудованих блоків .
ПРИМІТКА: text-align:center;
визначені у власному класі, який ви застосовуєте до батьківського елементу, працюватимуть незалежно від використовуваної версії Bootstrap. І саме це .text-center
стосується.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="container">
<div class="row">
<div class="col text-center">
<button class="btn btn-default">Centered button</button>
</div>
</div>
</div>
Якщо вміст, який потрібно відцентрувати, є блоковим або гнучким (не inline-
), можна використати flexbox для центрування:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="d-flex justify-content-center">
<button class="btn btn-default">Centered button</button>
</div>
... що стосується display: flex; justify-content: center
батьків.
Примітка: не використовуйте .row.justify-content-center
замість .d-flex.justify-content-center
, оскільки .row
застосовує негативні поля на певних інтервалах реагування, що призводить до несподіваних горизонтальних смуг прокрутки (якщо .row
це не прямий дочірній елемент .container
, який застосовує бічні відступи для протидії негативному полю, на правильних інтервалах відгуку). Якщо ви .row
з будь-якої причини повинні використовувати , перевизначте його поле та відступ .m-0.p-0
, в цьому випадку ви отримаєте майже ті самі стилі, що і .d-flex
.
Важливе зауваження: Друге рішення є проблематичним, коли відцентрований вміст (кнопка) перевищує ширину батьківського елемента ( .d-flex
), особливо коли батьківський елемент має ширину області перегляду, особливо тому, що унеможливлює горизонтальне прокручування до початку вмісту (зліва більшість).
Тому не використовуйте його, коли вміст, який потрібно відцентрувати, може стати ширшим від доступної батьківської ширини, і весь вміст повинен бути доступним.