J'utilise Twitter-bootstrap , et j'ai trouvé assez difficile de centrer div
qui a la classe .btn-group
( link ). Habituellement, j'utilise
margin: 0 auto;
ou
text-align: center;
centrer des éléments dans div, mais cela ne fonctionne pas lorsque l'élément interne a la propriété float: left
qui, dans ce cas, est utilisée pour les effets visuels.
Edited: Cela a changé depuis Bootstrap 3. Voir la solution pour Bootstrap 3 ci-dessous.
Est-ce que l'ajout d'une division d'emballage est hors de question?
Regardez cet exemple: http://jsfiddle.net/EVmwe/4/
Partie importante du code:
/* a wrapper for the paginatior */
.btn-group-wrap {
text-align: center;
}
div.btn-group {
margin: 0 auto;
text-align: center;
width: inherit;
display: inline-block;
}
a {
float: left;
}
Enrouler le groupe de boutons dans une division et configurer la division pour aligner le texte au centre. Le groupe de boutons doit également être écrasé pour que la largeur héritée soit affichée inline-block.
Remplacer l'affichage d'ancres par inline-block, et float: none, fonctionnerait probablement aussi, comme l'a dit @ Andres Ilich.
Mise à jour pour Bootstrap 3
A partir de Bootstrap 3, vous avez des classes d'alignement (comme indiqué dans la documentation ). Vous devez maintenant simplement ajouter la classe text-center
à un parent. Ainsi:
<div class="text-center">
<ul class="pagination">
<li class="disabled"><a href="#">«</a></li>
<li class="active"><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#">»</a></li>
</ul>
</div>
Voir l'exemple de travail ici: http://jsfiddle.net/EVmwe/409/
Cela fonctionne pour moi (Bootstrap 3):
<div class="text-center">
<div class="btn-group">
<a href=1 class="btn btn-small">1</a>
<a href=1 class="btn btn-small">2</a>
<a href=1 class="btn btn-small">3</a>
</div>
</div>
ou ajouter "centré sur la pagination", exemple:
<div class="btn-toolbar pagination-centered">
<div class="btn-group">
<a href=1 class="btn btn-small">1</a>
<a href=1 class="btn btn-small">2</a>
<a href=1 class="btn btn-small">3</a>
</div>
</div>
pour bootstrap 4
<div class="text-center">
<div class="btn-group">
<a href="#" class="btn btn-primary">text 1</a>
<a href="#" class="btn btn-outline-primary">text 2</a>
</div>
</div>
Depuis Twitter Bootstrap 3, aucune solution de contournement n'est nécessaire. Spécifiez simplement le text-align: center
pour l'élément parent.
Déclarez simplement vos liens de boutons en tant que inline-block
au lieu de float:left
et votre déclaration text-align:center
fonctionnera de la manière suivante:
.btn-group a {
display:inline-block;
}
Au cas où quelqu'un voudrait aussi changer la largeur du groupe .btn, vous pouvez faire min-width plutôt que width. J'ai fait ça:
HTML:
<div class="text-center">
<div class="btn-group">
<button class="btn">1</button>
<button class="btn">2</button>
</div>
</div>
CSS:
.btn-group {min-width: 90%;}
.btn {width: 50%;}
Cela définit la largeur du groupe btn sur 90% du centre de texte et chaque bouton inclus représente 50% du groupe de boutons (45% du div du centre de texte).
<div class="btn-group mx-auto" role="group">
<a href="#" class="btn btn-outline-primary"> Button 1</a>
<a href="#" class="btn btn-outline-primary"> Button 2</a>
</div>
J'utilise la solution suivante.
<div class="center-block" style="max-width:400px">
<a href="#" class="btn btn-success">Accept</a>
<a href="#" class="btn btn-danger"> Reject</a>
</div>
Jetez le groupe btn dans une balise p et utilisez le style text-align: center for p {}
p {
text-align: center;
}
<p>
<div class="btn-group" role="group" aria-label="...">
<button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button>
<button type="button" class="btn btn-default">Right</button>
</div>
</p>
Dans Bootstrap 3, il vous suffit de structurer aussi simplement que de suivre les modifications
<div class="btn-toolbar">
<div class="btn-group">
<button onclick="#" type="button" class="btn btn-default btn-sm">
Click 1
</button>
<button onclick="#" type="button" class="btn btn-default btn-sm">
Click 2
</button>
<button onclick="#" class="btn btn-default btn-sm" type="button">
Click 3
</button>
<button onclick="#" type="button" class="btn btn-default btn-sm">
Click 4
</button>
<button onclick="#" type="button" class="btn btn-default btn-sm">
Click 5
</button>
<button onclick="#" type="button" class="btn btn-default btn-sm">
Click 6
</button>
</div>
</div
Et ne modifiez que le style (remplacez le bootstrap) qui force le flottant à gauche de sorte que vous ne puissiez pas forcer par marge ou centre du texte:
.btn-toolbar .btn-group {float:initial;}
Cela fonctionne pour moi, sans beaucoup de changement.
Cela a fait le tour pour moi dans Bootstrap v3.3
.btn-group {
margin: auto;
display: flex;
flex-direction: row;
justify-content: center;
}