Bootstrap : comment aligner un container à la verticale et l'horizontale ?

Le framework Bootstrap dans sa version 4 utilise le modèle des flexbox afin de faciliter la disposition des éléments dans la page. Grâce à quelques classes CSS fournis par le framework, on peut centrer à la fois verticalement et horizontalement un élément dans son élément parent.

La première condition à respecter est liée au centrage vertical. L'élément parent doit obligatoirement avoir une hauteur définie pour que l'on puisse centrer l'élément enfant. La classe "h-100" permet de fixer une hauteur égale à 100% pour que l'élément parent occupe toute la hauteur de son propre élément parent. On peut également définir une hauteur précise. Il suffit ensuite d'ajouter la classe "align-items-center" sur l'élément parent pour que les éléments enfants soient centrés verticalement.

Pour le centrage horizontal, il existe plusieurs possibilités. La classe "justify-content-center" permet de centrer horizontalement les colonnes dans une ligne.

<div class="row h-100 justify-content-center align-items-center">
    <div class="col-12">
        Le texte contenu à cet endroit est centré verticalement et horizontalement.
   </div>
</div>

On peut également faire appel à la classe "mx-auto" qui ajoute des marges automatiquement à gauche et à droite pour centrer un contenu. Cette classe peut également être utilisée en dehors du contexte "ligne-colonne".

<div class="h-100 align-items-center">
    <div class="mx-auto">
        Le texte contenu à cet endroit est centré verticalement et horizontalement.
   </div>
</div>

Si vous souhaitez centrer horizontalement du contenu textuel ou le contenu d'une colonne, la classe "text-center" est celle que vous devez utiliser avec Bootstrap.