Mise à jour
Comme de BS3 il y a un .center-block
de la classe helper. À partir de la documentation:
// Classes
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
// Usage as mixins
.element {
.center-block();
}
Il est caché à la complexité de ce problème apparemment simple. Toutes les réponses ont des problèmes.
1. Créer une Classe Personnalisée (Grands Gotcha)
Créer .col-centred
classe, mais il ya une grande chose à corriger.
.col-centred {
float: none !important;
margin: 0 auto;
}
<!-- Bootstrap 3 -->
<div class="col-lg-6 col-centred">
Centred content.
</div>
<!-- Bootstrap 2 -->
<div class="span-6 col-centred">
Centred content.
</div>
Gotcha
Bootstrap nécessite des colonnes d'ajouter jusqu'à 12. S'ils ne le font pas ils vont se chevaucher, ce qui est un problème. Dans ce cas, l'centrée sur la colonne du chevauchement entre la colonne ci-dessus. Visuellement la page peut regarder la même chose, mais les événements de la souris ne fonctionne pas sur la colonne qui est superposé (vous ne pouvez pas vous passez la souris ou cliquez sur les liens, par exemple). C'est parce que les événements de la souris sont en vous inscrivant sur le centrés sur la colonne qui recouvrent les éléments que vous essayez de cliquez sur.
Les Correctifs
Vous pouvez résoudre ce problème en utilisant un clearfix
élément. À l'aide de z-index
à apporter sur les colonnes centrées vers le bas ne fonctionnera pas, car il sera superposé lui-même, et, par conséquent, les événements de la souris va travailler dessus.
<div class="row">
<div class="col-lg-12">
I get overlapped by `col-lg-7 centered` unless there's a clearfix.
</div>
<div class="clearfix"></div>
<div class="col-lg-7 centred">
</div>
</div>
Ou vous pouvez isoler l'centrée sur la colonne dans sa propre ligne.
<div class="row">
<div class="col-lg-12">
</div>
</div>
<div class="row">
<div class="col-lg-7 centred">
Look I am in my own row.
</div>
</div>
2. Utiliser col-lg-offset-x ou spanx-offset (Grands Gotcha)
<!-- Bootstrap 3 -->
<div class="col-lg-6 col-lg-offset-3">
Centred content.
</div>
<!-- Bootstrap 2 -->
<div class="span-6 span-offset-3">
Centred content.
</div>
Le premier problème est que votre centrée sur la colonne doit être un nombre pair, car la valeur de l'offset doit répartir uniformément par 2 pour la mise en page centrée (gauche/droite).
Deuxièmement, comme certains l'ont fait remarquer, à l'aide de décalages est une mauvaise idée. C'est parce que lorsque le navigateur est redimensionnée de la compensation à son tour dans l'espace vide, en poussant le contenu réel de la page.
3. Créer un Intérieur Centrée sur la Colonne
C'est la meilleure solution, à mon avis. Pas de piratage nécessaire et vous n'avez pas déconner avec la grille, ce qui pourrait avoir des conséquences inattendues, comme pour les solutions 1 et 2.
.col-centred {
margin: 0 auto;
}
<div class="row">
<div class="col-lg-12">
<div class="centred">
Look I am in my own row.
</div>
</div>
</div>