Обновление 2019 - Bootstrap 4
«Центрированный контент» может означать много разных вещей, и центрирование Bootstrap сильно изменилось с момента публикации.
Горизонтальный центр
Bootstrap 3
text-center
используется для display:inline
элементов
center-block
центрировать display:block
элементы
col-*offset-*
центрировать столбцы сетки
- увидеть этот ответ, чтобы центрировать навигационную панель
Demo Bootstrap 3 Горизонтальное центрирование
Bootstrap 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>
Вертикальный центр с использованием Auto Margins Demo
my-auto
представляет поля на вертикальной оси Y и эквивалентно:
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>
Вертикальный центр Использование дисплея Utils Demo