85 votes

Comment centrer un div avec Bootstrap2 ?

http://twitter.github.com/bootstrap/scaffolding.html

J'ai essayé toutes les combinaisons possibles :

<div class="row">
  <div class="span7 offset5"> box </div>
</div>

o

<div class="container">
  <div class="row">
    <div class="span7 offset5"> box </div>
  </div>  
</div>

changé les numéros d'envergure et d'offset...

Mais je n'arrive pas à centrer parfaitement une simple boîte sur une page :(

Je veux juste une boîte de 6 colonnes centrée...


éditer :

l'a fait avec

<div class="container">
  <div class="row" id="login-container">
    <div class="span8 offset2">
       box
    </div>
  </div>
</div>

Mais la boîte est trop large, y a-t-il un moyen de le faire avec span7 ?

span7 offset2 donne un rembourrage supplémentaire à gauche span7 offset3 un rembourrage supplémentaire à droite...

0 votes

Vous cherchez à centrer une boîte horizontalement sur la page ? Parce que le container La classe le fait déjà, je pensais que vous cherchiez à centrer une boîte plus petite. Ou bien cherchez-vous à centrer une boîte à la fois horizontalement et verticalement sur la page ?

14 votes

Une boîte, dites-vous ? ici, dans le monde des développeurs, on appelle ça un div.

0 votes

Quelle version de Bootstrap utilisiez-vous ? Cela devrait apparaître dans le titre, car les personnes qui recherchent des informations à ce sujet se retrouveront ici et verront un code obsolète.

165voto

Zuhaib Ali Points 1588

Les travées de Bootstrap sont flottantes vers la gauche. Pour les centrer, il suffit d'outrepasser ce comportement. Je le fais en ajoutant ceci à ma feuille de style :

.center {
     float: none;
     margin-left: auto;
     margin-right: auto;
}

Si vous avez défini cette classe, il suffit de l'ajouter au span et tout est prêt.

<div class="span7 center"> box </div>

Notez que cette classe de centre personnalisée doit être définie après le css de bootstrap. Vous pouvez utiliser !important mais ce n'est pas recommandé.

5 votes

OUI ! Merci, Zuhaib ! Cela a parfaitement fonctionné. Cette réponse devrait être votée comme la réponse correcte pour cette question.

0 votes

@ZuhaibAli Adding float: none; régler mon problème.

1 votes

J'utilise Rails, donc je veux juste signaler que dans application.css, ajoutez *= require bootstrap.min avant *= require_self y *= require_tree

46voto

csturtz Points 1364

En plus de réduire la div elle-même à la taille que vous voulez, en réduisant la taille de l'espace comme ceci... class="span6 offset3" , class="span4 offset4" etc... quelque chose d'aussi simple que style="text-align: center" sur le div pourrait avoir l'effet que vous recherchez.

vous ne pouvez pas utiliser span7 avec un décalage quelconque et obtenir la span centrée sur la page (parce que le total des spans = 12)

12 votes

Considérez la réponse de Zuhaib Ali. text-align : center ne fonctionne pas pour centrer les éléments dans une <div>. La classe offset* ne centre pas vraiment les composants. Elle crée simplement l'illusion d'un centrage. Vous pouvez le vérifier en redimensionnant la fenêtre et en constatant que les composants ne restent pas centrés. Lorsque vous appliquez la méthode de Zuhaib Ali, les composants restent centrés.

0 votes

Au lieu d'ajouter un style en ligne (style="text-align:center"), ajoutez la classe "center-block" et obtenez un contenu centré dans votre div centré.

0 votes

Col-md-4 ou col-lg-4 est égal à margin : 0 auto ; ?

21voto

Craig Points 4714

Si vous souhaitez opter pour une mise en page complète (et non pour une mise en page automatique à gauche et à droite), vous avez besoin d'un modèle qui s'adapte à 12 colonnes, c'est-à-dire 2 blancs, 8 contenus, 2 blancs. C'est ce que cette configuration fera. Elle ne couvre que le -md- les variantes, j'ai tendance à les ramener à la taille réelle pour les petits en ajoutant col-xs-12

<div class="container">
  <div class="col-md-8 col-md-offset-2">
     box
  </div>
</div>

0 votes

Est-ce une façon valide de centrer les divs dans boostrap ?

1 votes

Le contenu de la division n'est pas centré, mais la division elle-même l'est.

8voto

strat Points 699

Il semble que vous vouliez simplement centrer un seul conteneur. Le framework bootstrap complique peut-être trop cet exemple, vous auriez pu simplement avoir un div autonome avec votre propre style, quelque chose comme ça :

<div class="login-container">
  <!-- Your Login Form -->
</div>

et le style :

.login-container {
  margin: 0 auto;
  width: 400px; /* Whatever exact width you are looking for (not bound by preset bootstrap widths) */
}

Cela devrait fonctionner correctement si vous êtes imbriqué quelque part dans un bootstrap. .container div.

3voto

mrpix Points 31

Ajouter la classe centercontents

/** Center the contents of the element **/
.centercontents {
    text-align: center !important;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X