Mise à jour 2019 - Bootstrap 4
Le "contenu centré" peut signifier beaucoup de choses différentes, et le centrage Bootstrap a beaucoup changé depuis la publication d'origine.
Centre horizontal
Bootstrap 3
text-center
est utilisé pour les display:inline
éléments
center-block
pour centrer les display:block
éléments
col-*offset-*
pour centrer les colonnes de la grille
- voir cette réponse pour centrer la barre de navigation
Demo Bootstrap 3 Centrage horizontal
Bootstrap 4
text-center
est toujours utilisé pour les display:inline
éléments
mx-auto
remplace center-block
pour centrer les display:block
éléments
offset-*
ou mx-auto
peut être utilisé pour centrer les colonnes de la grille
justify-content-center
en row
peut également être utilisé pour centrercol-*
mx-auto
(marges automatique d'axe x) se concentreront display:block
ou des display:flex
éléments qui ont une largeur définie , ( %
, vw
, px
, etc ..). Flexbox est utilisé par défaut sur les colonnes de la grille, il existe donc également différentes méthodes de centrage de Flexbox.
Demo Bootstrap 4 Centrage horizontal
Centre vertical
Maintenant que Bootstrap 4 est flexbox par défaut, il existe de nombreuses approches différentes de l'alignement vertical utilisant: les marges automatiques , les utilitaires flexbox ou les utilitaires d' affichage avec les utilitaires d'alignement vertical . Au début, les "utils d'alignement vertical" semblent évidents, mais ils ne fonctionnent qu'avec des éléments d'affichage en ligne et de table. Voici quelques options de centrage vertical Bootstrap 4.
1 - Centre vertical à l'aide des marges automatiques:
Une autre façon de centrer verticalement est d'utiliser my-auto
. Cela centrera l'élément dans son conteneur. Par exemple, h-100
rend la ligne pleine hauteur et my-auto
centre verticalement la col-sm-12
colonne.
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
Centre vertical à l'aide de la démonstration des marges automatiques
my-auto
représente les marges sur l'axe vertical y et équivaut à:
margin-top: auto;
margin-bottom: auto;
2 - Centre vertical avec Flexbox:
Puisque Bootstrap 4 .row
est maintenant, display:flex
vous pouvez simplement l'utiliser align-self-center
sur n'importe quelle colonne pour le centrer verticalement ...
<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>
ou, utilisez align-items-center
sur l'ensemble .row
pour aligner verticalement au centre tout col-*
dans la rangée ...
<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>
Démonstration de colonnes verticales de différentes hauteurs
3 - Centre vertical utilisant des outils d'affichage:
Bootstrap 4 a utils d'affichage qui peuvent être utilisés pour display:table
, display:table-cell
, display:inline
, etc .. Ils peuvent être utilisés avec les utils d'alignement vertical à roues alignées align, inline-block ou des éléments de cellules de tableau.
<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>
Vertical Center Using Display Utils Demo