Il existe deux approches pour centrer une colonne <div>
dans Bootstrap 3:
Approche 1 (décalages):
La première approche utilise les propres classes de décalage de Bootstrap, donc elle ne nécessite aucun changement de balisage et aucun CSS supplémentaire. La clé est de définir un décalage égal à la moitié de la taille restante de la ligne . Ainsi, par exemple, une colonne de taille 2 serait centrée en ajoutant un décalage de 5, c'est(12-2)/2
.
Dans le balisage, cela ressemblerait à:
<div class="row">
<div class="col-md-2 col-md-offset-5"></div>
</div>
Maintenant, il y a un inconvénient évident pour cette méthode. Il ne fonctionne que pour la taille des colonnes même , de sorte que .col-X-2
, .col-X-4
, col-X-6
, col-X-8
et col-X-10
sont pris en charge.
Approche 2 (l'ancienne margin:auto
)
Vous pouvez centrer n'importe quelle taille de colonne en utilisant la margin: 0 auto;
technique éprouvée . Il vous suffit de prendre soin du flottant ajouté par le système de grille de Bootstrap. Je recommande de définir une classe CSS personnalisée comme celle-ci:
.col-centered{
float: none;
margin: 0 auto;
}
Vous pouvez maintenant l'ajouter à n'importe quelle taille de colonne et à n'importe quelle taille d'écran, et cela fonctionnera de manière transparente avec la mise en page réactive de Bootstrap:
<div class="row">
<div class="col-lg-1 col-centered"></div>
</div>
Remarque: Avec les deux techniques, vous pouvez ignorer l' .row
élément et placer la colonne au centre de a .container
, mais vous remarquerez une différence minimale dans la taille réelle de la colonne en raison du remplissage dans la classe de conteneur.
Mise à jour:
Puisque v3.0.1 Bootstrap a une classe intégrée nommée center-block
qui utilise margin: 0 auto
, mais qui est manquante float:none
, vous pouvez l'ajouter à votre CSS pour la faire fonctionner avec le système de grille.