Comment obtenir le contenu centré en utilisant Twitter Bootstrap?

j'essaie de suivre un exemple très basique. En utilisant la page de démarrage et le système de grille , j'espérais ce qui suit:

html lang-html prettyprint-override"><div class="row">
  <div class="span12">
    <h1>Bootstrap starter template</h1>
    <p>Example text.</p>
  </div>
</div>

...produirait un texte centré.

cependant, il apparaît toujours à l'extrême gauche. Ce que je fais mal?

526
demandé sur Peter Mortensen 2012-02-08 01:21:55

22 réponses

ceci est pour le centrage de texte ( qui est ce que la question était au sujet de )

pour les autres types de contenu, voir réponse de Flavien .

Mise À Jour: Bootstrap 2.3.0+ Réponse

l'original de La réplique a été pour la première version de bootstrap. À partir de bootstrap 2.3.0, vous pouvez simplement donner au div la classe .text-center .


réponse originale (pré 2.3.0)

Vous devez définir l'une des deux catégories, row ou span12 avec un text-align: center . Voir http://jsfiddle.net/xKSUH / ou http://jsfiddle.net/xKSUH/1/

659
répondu ScottS 2017-05-23 11:55:03

NOTE: ceci était supprimé dans Bootstrap 3 .


Pré-Bootstrap 3, vous pouvez utiliser la classe CSS pagination-centered comme ceci:

<div class="span12 pagination-centered">
    Centered content.
</div>

Classe pagination-centered est déjà en bootstrap.css (ou bootstrap.min.css) et a la seule règle:

.pagination-centered{text-align:center;}

Avec Bootstrap 2.3.0. il suffit d'utiliser la classe text-center

239
répondu Iurii.K 2017-05-23 12:10:41

je suppose que la plupart des gens ici sont effectivement à la recherche de la voie pour centrer le tout div et non seulement le contenu du texte (qui est trivial...).

la seconde façon (au lieu d'utiliser text-align:center) de centrer les choses en HTML est d'avoir un élément avec une largeur fixe et une marge automatique (gauche et droite). Avec Bootstrap, le style définissant les marges automatiques est la classe "conteneur".

<div class="container">
    <div class="span12">
        "Centered stuff there"
    </div>
</div>

regardez ici pour un violon: http://jsfiddle.net/D2RLR/7788/

148
répondu Flavien Volken 2017-10-28 10:12:44

Bootstrap 3.1.1 possède une classe .center-block pour le centrage des divs. Voir: http://getbootstrap.com/css/#helper-classes-center .

blocs de contenu de Centre définir un élément à display: block et de Centre via margin . Disponible comme mixin et class.

<div class="center-block">...</div>

ou, comme d'autres l'ont déjà dit, utiliser le .text-center texte de la classe au centre.

35
répondu cornishninja 2014-05-22 12:24:47

la meilleure façon de le faire est de définir un style css:

.centered-text {
    text-align:center
}    

ensuite, où que vous ayez besoin de texte centré, vous l'ajoutez comme ceci:

<div class="row">
    <div class="span12 centered-text">
        <h1>Bootstrap starter template</h1>
        <p>Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
    </div>
</div>

ou si vous voulez simplement que la balise p soit centrée:

<div class="row">
    <div class="span12 centered-text">
        <h1>Bootstrap starter template</h1>
        <p class="centered-text">Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
    </div>
</div>

le moins de css inline vous utilisez le mieux.

28
répondu tomwolber 2012-12-27 15:11:22

Update 2018 - Bootstrap 4

"contenu centré" peut signifier beaucoup de choses différentes, et Bootstrap centrage a beaucoup changé depuis le post original.

Centre Horizontal

Bootstrap 3

  • text-center est utilisé pour display:inline éléments
  • center-block à centre display:block éléments
  • col-*offset-* au centre des colonnes de la grille
  • voir cette réponse au centre de la barre de navigation

Démo Bootstrap 3 Horizontal De Centrage

Bootstrap 4

  • text-center est encore utilisé pour display:inline elements
  • mx-auto remplace center-block par display:block elements
  • offset-* ou mx-auto peut être utilisé pour centre de colonnes de la grille
  • justify-content-center dans row peut également être utilisé pour le centre col-*

mx-auto ( display:block ou display:flex les éléments qui ont une largeur définie de 1519810920" , ( % , vw , px , etc..). Flexbox est utilisé par défaut sur les colonnes de grille, il existe donc aussi diverses méthodes de centrage flexbox.

Démo Bootstrap 4 Centrage Horizontal


Centre Vertical

maintenant que Bootstrap 4 est flexbox par défaut il existe de nombreuses approches différentes de l'alignement vertical en utilisant: auto-margins , flexbox utils , ou les display utils avec vertical align ULS . Au début ,les " utils d'alignement vertical "semblent évidents, mais ces seulement fonctionnent avec des éléments d'affichage en ligne et de table. Voici quelques options de centrage vertical Bootstrap 4..


1 - Centre Vertical Utilisant Les Marges Automatiques:

une autre façon de centrer verticalement est d'utiliser my-auto . Cela va centrer l'élément dans son conteneur. Par exemple, h-100 fait la pleine hauteur de la rangée, et my-auto centre verticalement la colonne col-sm-12 .

<div class="row h-100">
    <div class="col-sm-12 my-auto">
        <div class="card card-block w-25">Card</div>
    </div>
</div>

Vertical À L'Aide Du Centre Auto Marges Démo

my-auto représente les marges sur l'axe vertical des ordonnées et est équivalent à:

margin-top: auto;
margin-bottom: auto;

2 - Centre Vertical avec Flexbox:

vertical center grid columns

depuis Bootstrap 4 .row est maintenant display:flex vous pouvez simplement utiliser align-self-center sur n'importe quelle colonne pour le centrer verticalement...

       <div class="row">
           <div class="col-6 align-self-center">
                <div class="card card-block">
                 Center
                </div>
           </div>
           <div class="col-6">
                <div class="card card-inverse card-danger">
                    Taller
                </div>
          </div>
    </div>

ou, utiliser align-items-center sur la totalité du .row pour aligner verticalement le centre de tous les col-* dans la rangée...

       <div class="row align-items-center">
           <div class="col-6">
                <div class="card card-block">
                 Center
                </div>
           </div>
           <div class="col-6">
                <div class="card card-inverse card-danger">
                    Taller
                </div>
          </div>
    </div>

Centre Vertical De Hauteur Différente Colonnes Démo


3 - Centre Vertical Utilisant Les Outils D'Affichage:

Bootstrap 4 a utils d'affichage qui peuvent être utilisés pour display:table , display:table-cell , display:inline , etc.. Ceux-ci peuvent être utilisés avec le utils d'alignement vertical pour aligner inline, inline-bloc ou des éléments de cellules de tableau.

<div class="row h-50">
    <div class="col-sm-12 h-100 d-table">
        <div class="card card-block d-table-cell align-middle">
            I am centered vertically
        </div>
    </div>
</div>

Centre Vertical À L'Aide De L'Affichage Utils Démo

25
répondu Zim 2018-01-26 21:02:11

depuis février 2013, dans certains cas, j'ajoute une classe "centrée" à la div "portée":

<div class="container">
  <div class="row">
    <div class="span9 centred">
      This div will be centred.
    </div>
  </div>
</div>

et à CSS:

[class*="span"].centred {
  margin-left: auto;
  margin-right: auto;
  float: none;
}

la raison en est que les Div de span* sont flottés vers la gauche, et la technique de centrage" marge automatique " ne fonctionne que si le div n'est pas flotté.

Demo (on JSFiddle): http://jsfiddle.net/5RpSh/8/embedded/result/

JSFiddle: http://jsfiddle.net/5RpSh/8/

13
répondu bjfletcher 2013-02-26 08:34:01

la classe .show-grid applique le texte aligné au centre dans l'exemple du lien.

vous pouvez toujours ajouter style="text-align:center" à votre div de rang ou une autre classe je pense.

12
répondu PAULDAWG 2012-02-07 21:37:43

si vous utilisez Bootstrap 3, Il a aussi la classe CSS intégrée nommée .centre de texte . Qu'est ce que vous voulez.

<div class="text-left">
    left
</div>

<div class="text-center">
    center
</div>

<div class="text-right">
    right
</div>

s'il vous Plaît voir l'exemple dans jsfiddle. http://jsfiddle.net/ucheng/Q4Fue /

9
répondu ucheng 2017-10-28 10:26:12

Bootstrap 2.3 a une classe text-center .

<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
8
répondu leonbloy 2013-02-14 17:18:11

de mon côté je définis de nouveaux CSS styles prêts à l'emploi et facile à se rappeler:

.center { text-align: center;}
.left { text-align: left;}
.right { text-align: right;}
.justify { text-align: justify;}
.fleft { float: left;} /*-> similar to .pull-left already existing in bootstrap*/
.fright { float: right;}  /*-> similar to .pull-right already existing in bootstrap*/
.vab { vertical-align: bottom;}
.bold { font-weight: bold;}
.italic { font-style: italic;}

Est-ce une bonne idée? Est-il une bonne pratique?

6
répondu Parisiam 2013-04-04 16:29:44

si vous utilisez Bootstrap 2.0+

cela peut rendre la div centrée à la page.

<div class="row">
    <div class="span4 offset4">
        //your content here gets centered of the page
    </div>
</div>
4
répondu Sandeep 2012-06-13 09:52:44

N'importe quelle classe utilitaire text-align ferait l'affaire. Bootstrap utilise depuis longtemps la classe .text-center pour centrer le texte.

.text-center { text-align: center !important; }

Ou vous pouvez créer vos propres factures. Quelques variations que j'ai vues au fil des ans:

.u-text-center { text-align: center !important; }
.ta-center { text-align: center !important; }
.ta\:c { text-align: center !important; }
3
répondu nathanjessen 2017-01-18 09:07:12

vous devez vous ajuster avec le .span .

exemple:

<div class="container-fluid">
  <div class="row-fluid">
    <div class="span4"></div>
    <!--/span-->
    <div class="span4" align="center">
      <div class="hero-unit" align="center">
        <h3>Sign In</h3>
        <form>
          <div class="input-prepend">
            <span class="add-on"><i class="icon-envelope"></i> </span>
            <input class="span6" type="text" placeholder="Email address">
          </div>
          <div class="input-prepend">
            <span class="add-on"><i class="icon-key"></i> </span>
            <input class="span6" type="password" placeholder="Password">
          </div>
        </form>
      </div>
    </div>
    <!-- /span -->
    <div class="span4"></div>
  </div>
  <!-- /row -->
</div>
3
répondu Praveen Das - PD 2017-10-28 10:11:09

ma méthode préférée pour centrer des blocs d'information tout en maintenant la réactivité (compatibilité mobile) est de placer deux vides span1 divs avant et après le contenu que vous souhaitez centrer.

<div class="row-fluid">

    <div class="span1">
    </div>

        <div class="span10">
          <div class="hero-unit">
            <h1>Reading Resources</h1>
            <p>Read here...</p>
          </div>
        </div><!--/span-->

    <div class="span1">
    </div>

</div><!--/row-->
2
répondu Kilizo 2012-09-12 09:47:35

pour Bootstrap version 3.1.1 et supérieure, la meilleure classe pour centrer le contenu est la classe helper .center-block .

2
répondu Shwan Namiq 2017-10-28 10:26:47
<div class="container">
  <div class="col-md-12 centered">
    <div class="row">
      <div class="col-md-1"></div>
       <div class="col-md-10">
           label
       </div>
      <div class="col-md-1"></div>
    </div>
  </div>
</div>

Ne pas utiliser de récipient de liquide dans la main.

1
répondu Talha 2017-10-28 10:27:27

bloc central est également une option non mentionnée dans les réponses ci-dessus

    <div class="center-block" style="width:200px;background-color:#ccc;">...</div>

l'Ensemble de la classe center-block ne est-à-dire l'élément à avoir une marge de 0 auto, l'auto étant la marge gauche/droite. Cependant, à moins que la classe text-center ou CSS text-align:center ne soit définie sur le parent, l'élément ne sait pas de quel point effectuer ce calcul automatique, de sorte qu'il ne se centrera pas comme prévu.

ainsi texte-Centre est un une meilleure option.

1
répondu Black Mamba 2017-10-28 10:38:10

vous pouvez utiliser l'un des types suivants ""

  1. utilisez la classe Bootstrap existante text-center .
  2. , en Ajoutant un style personnalisé, style = "text-align:center" .
  3. utiliser une colonne offset:

    exemple: <div class="col-md-offset-6 col-md-12"></div>

1
répondu Poorna Rao 2017-10-28 10:38:49

j'ai créé cette classe pour garder le centré quelle que soit la taille de l'écran tout en maintenant les fonctionnalités responsive:

.container {
    alignment-adjust: central;
}
0
répondu Ariel 2014-07-08 05:49:30

utilisez simplement une classe, un centre de texte, pour le div ou l'étiquette que vous voulez. Je pense qu'il peut fonctionner correctement. Il s'agit d'une classe Bootstrap pour text align center.

voici quelques classes D'alignement de texte Bootstrap:

text-left, text-right, text-justify, etc.
<div class="row">
 <div class="col-md-12 text-center">
  <h1>Bootstrap starter template</h1>
  <p>Example text.</p>
 </div>
</div>
0
répondu shiva krishna 2017-10-28 10:40:02

j'ai essayé deux façons, et il a fonctionné très bien pour centrer la div. Les deux façons aligneront les divs sur tous les écrans.

Voie 1: Utilisation De La Poussée:

<div class = "col-lg-4 col-md-4 col-sm-4 col-xs-4 col-lg-push-4 col-md-push-4 col-sm-push-4 col-xs-push-4" style="border-style:solid;border-width:1px">
    <h2>Grievance form</h2> <!-- To center this text, use style="text-align: center" -->
  </div>

Chemin 2: À L'Aide D'Offset:

<div class = "col-lg-4 col-md-4 col-sm-4 col-xs-4 col-lg-offset-4 col-md-offest-4 col-sm-offest-4 col-xs-offest-4" style="border-style:solid;border-width:1px">
    <h2>Grievance form</h2> <!--to center this text, use style="text-align: center"-->
</div>

résultat:

Enter image description here

explication

Bootstrap désignera à gauche, la première colonne de l'occupation de l'écran spécifiée. Si nous utilisons offset ou push, il déplacera la colonne 'this' par 'those' de nombreuses colonnes. Bien que j'ai fait face à certains problèmes dans la réactivité de l'offset, push était génial.

0
répondu Pikesh Prasoon 2017-10-28 10:42:44