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:
<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. Qu'est-ce que je fais mal?
<center>
est déconseillé en faveur detext-align: center
ce qui, soit dit en passant, est exactement ce que la classe bootstrap.text-center
encapsule.Réponses:
C'est pour le centrage du texte ( qui était le sujet de la question )
Pour d'autres types de contenu, voir la réponse de Flavien .
Mise à jour: Bootstrap 2.3.0+ Answer
La réponse originale était pour une première version de bootstrap. Depuis le bootstrap 2.3.0, vous pouvez simplement donner à la div la classe
.text-center
.Réponse originale (avant 2.3.0)
Vous devez définir l'une des deux classes,
row
ouspan12
avec untext-align: center
. Voir http://jsfiddle.net/xKSUH/ ou http://jsfiddle.net/xKSUH/1/la source
text-align: center
n'est pas par défaut sur ces classes. En règle générale, la valeur par défaut sera l'left
alignement..pagination-centered
fonctionne aussi: P vous évite d'avoir à ajouter une autre classe.pagination-centered
vous oblige à ajouter une autre classe au html. Ma réponse antérieure à la version 2.3.0 n'en requiert qu'une seule pour étendre la définition de propriété d'une classe déjà présente. De plus, si vous regardez les commentaires sur la réponse en utilisantpagination-centered
, vous trouverez des objections et des avertissements à ce sujet. Mais si cela fonctionne pour vous dans votre cas, allez-y! :-)REMARQUE: cela a été supprimé dans Bootstrap 3 .
Pre-Bootstrap 3, vous pouvez utiliser la classe CSS
pagination-centered
comme ceci:La classe
pagination-centered
est déjà dans bootstrap.css (ou bootstrap.min.css) et a la seule règle:Avec Bootstrap 2.3.0. il suffit d'utiliser la classe
text-center
la source
.text-center
sur le parent est la bonne solution pour cette version.Je suppose que la plupart des gens ici recherchent réellement le moyen de centrer le tout
div
et pas seulement le contenu du texte (ce qui est trivial…).La deuxième façon (au lieu d'utiliser text-align: center) pour 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 "container".
Jetez un œil ici pour un violon: http://jsfiddle.net/D2RLR/7788/
la source
col-*offset-*
. par exemple<div class="col-10 offset-1">
ou<div class="col-8 offset-2">
Mise à jour 2019 - Bootstrap 4
Le "contenu centré" peut signifier beaucoup de choses différentes, et le centrage Bootstrap a beaucoup changé depuis la publication d'origine.
Centre horizontal
Bootstrap 3
text-center
est utilisé pour lesdisplay:inline
élémentscenter-block
pour centrer lesdisplay:block
élémentscol-*offset-*
pour centrer les colonnes de la grilleDemo Bootstrap 3 Centrage horizontal
Bootstrap 4
text-center
est toujours utilisé pour lesdisplay:inline
élémentsmx-auto
remplacecenter-block
pour centrer lesdisplay:block
élémentsoffset-*
oumx-auto
peut être utilisé pour centrer les colonnes de la grillejustify-content-center
enrow
peut également être utilisé pour centrercol-*
mx-auto
(marges automatique d'axe x) se concentrerontdisplay:block
ou desdisplay:flex
éléments qui ont une largeur définie , (%
,vw
,px
, etc ..). Flexbox est utilisé par défaut sur les colonnes de la grille, il existe donc également différentes méthodes de centrage de Flexbox.Demo 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 utilisant: les marges automatiques , les utilitaires flexbox ou les utilitaires d' affichage avec les utilitaires d'alignement vertical . Au début, les "utils d'alignement vertical" semblent évidents, mais ils ne fonctionnent qu'avec des éléments d'affichage en ligne et de table. Voici quelques options de centrage vertical Bootstrap 4.
1 - Centre vertical à l'aide des marges automatiques:
Une autre façon de centrer verticalement est d'utiliser
my-auto
. Cela centrera l'élément dans son conteneur. Par exemple,h-100
rend la ligne pleine hauteur etmy-auto
centre verticalement lacol-sm-12
colonne.Centre vertical à l'aide de la démonstration des marges automatiques
my-auto
représente les marges sur l'axe vertical y et équivaut à:2 - Centre vertical avec Flexbox:
Puisque Bootstrap 4
.row
est maintenant,display:flex
vous pouvez simplement l'utiliseralign-self-center
sur n'importe quelle colonne pour le centrer verticalement ...ou, utilisez
align-items-center
sur l'ensemble.row
pour aligner verticalement au centre toutcol-*
dans la rangée ...Démonstration de colonnes verticales de différentes hauteurs
3 - Centre vertical utilisant des outils d'affichage:
Bootstrap 4 a utils d'affichage qui peuvent être utilisés pour
display:table
,display:table-cell
,display:inline
, etc .. Ils peuvent être utilisés avec les utils d'alignement vertical à roues alignées align, inline-block ou des éléments de cellules de tableau.Vertical Center Using Display Utils Demo
la source
.className-of-inner-div { display: inline-block; text-align: left; padding-top: 25%; padding-bottom: 20%; margin-top: auto; margin-bottom: auto; } .className-of-Grid-column { vertical-align:middle; text-align: center; }
Bootstrap 3.1.1 a une
.center-block
classe pour centrer les divs. Voir: http://getbootstrap.com/css/#helper-classes-center .Ou, comme d'autres l'ont déjà dit, utilisez la
.text-center
classe pour centrer le texte.la source
La meilleure façon de le faire est de définir un style css:
Ensuite, partout où vous avez besoin d'un texte centré, vous l'ajoutez comme suit:
ou si vous voulez juste que la balise p soit centrée:
Moins vous utilisez de CSS en ligne, mieux c'est.
la source
La classe .show-grid applique du texte aligné au centre dans l'exemple du lien.
Vous pouvez toujours ajouter
style="text-align:center"
à votre div de ligne ou une autre classe, je pense.la source
Depuis février 2013, dans certains cas, j'ajoute une classe "centrée" à la div "span":
et au CSS:
La raison en est que les span * div flottent vers la gauche et la technique de centrage "marge automatique" ne fonctionne que si la div n'est pas flottante.
Démo (sur JSFiddle): http://jsfiddle.net/5RpSh/8/embedded/result/
JSFiddle: http://jsfiddle.net/5RpSh/8/
la source
Si vous utilisez Bootstrap 3, il possède également une classe CSS intégrée nommée .text-center . C'est ce que tu veux.
Veuillez voir l'exemple dans jsfiddle. http://jsfiddle.net/ucheng/Q4Fue/
la source
Bootstrap 2.3 a une
text-center
classe.la source
De mon côté je définis de nouveaux
CSS
styles prêts à l'emploi et faciles à retenir:Est-ce que c'est une bonne idée? Existe-t-il une bonne pratique pour cela?
la source
span12
s et similairesSi vous utilisez Bootstrap 2.0+
Cela peut rendre le div centré sur la page.
la source
N'importe quelle classe utilitaire d'alignement de texte ferait l'affaire. Bootstrap utilise la
.text-center
classe pour centrer le texte depuis longtemps.Ou vous pouvez créer vos propres utilitaires. Quelques variations que j'ai vues au fil des ans:
la source
Vous devez régler avec
.span
.Exemple:
la source
Ma méthode préférée pour centrer des blocs d'informations tout en conservant la réactivité (compatibilité mobile) est de placer deux
span1
divs vides avant et après le contenu que vous souhaitez centrer.la source
Pour Bootstrap version 3.1.1 et supérieure, la meilleure classe pour centrer le contenu est la
.center-block
classe d'assistance.la source
N'utilisez pas de liquide de réservoir dans la principale.
la source
centered
classe dans votre code qui créera beaucoup de confusionLe bloc central est également une option non mentionnée dans les réponses ci-dessus
Tout ce que fait la classe,
center-block
c'est de dire à l'élément d'avoir une marge de 0 auto, l'auto étant les marges gauche / droite. Cependant, à moins que la classe text-center ou css text-align: center; est défini sur le parent, l'élément ne connaît pas le point de départ de ce calcul automatique, il ne se centrera donc pas comme prévu.Le centre de texte est donc une meilleure option.
la source
Vous pouvez utiliser l'un des types ci-dessous
text-center
.style = "text-align:center"
.Utilisez un décalage de colonne:
Exemple:
<div class="col-md-offset-6 col-md-12"></div>
la source
J'ai créé cette classe pour garder le centré indépendamment de la taille de l'écran tout en conservant des fonctionnalités réactives:
la source
Utilisez simplement une classe, text-center, pour la div ou la balise que vous voulez. Je pense que cela peut bien fonctionner. Il s'agit d'une classe Bootstrap pour le centre d'alignement du texte.
Voici quelques classes Bootstrap d'alignement de texte:
la source
J'ai essayé de deux façons, et cela a bien fonctionné pour centrer la div. Les deux façons aligneront les divs sur tous les écrans.
Méthode 1: Utilisation de Push:
Méthode 2: Utilisation du décalage:
Résultat:
Explication
Bootstrap désignera à gauche, la première colonne de l'occupation d'écran spécifiée. Si nous utilisons offset ou push, la colonne «this» sera décalée de «these» many columns. Bien que j'ai rencontré des problèmes de réactivité de l'offset, le push était génial.
la source
Mise à jour 2018:
Dans Bootstrap 4.1.3 , le contenu peut être centré à l'aide de la classe
mx-auto
.Référence: https://getbootstrap.com/docs/4.1/utilities/spacing/#horizontal-centering
la source