existe-t-il un moyen de centrer les éléments html verticalement ou horizontalement à l'intérieur des parents principaux?
<center></center>
tag
<center>
balise a été dépréciée il y a environ 12 ans.
existe-t-il un moyen de centrer les éléments html verticalement ou horizontalement à l'intérieur des parents principaux?
<center></center>
tag
<center>
balise a été dépréciée il y a environ 12 ans.
Réponses:
Mise à jour : bien que cette réponse était probablement correcte au début de 2013, elle ne devrait plus être utilisée. La solution appropriée utilise des décalages .
Comme pour la suggestion d'autres utilisateurs, il existe également des classes d'amorçage natives comme:
class="text-center"
class="pagination-centered"
merci à @Henning et @trejder
class="text-center"
.pagination-centered
comme alternative.
text-center
pour la mise en page est une très mauvaise pratique. La bonne façon d'aligner les colonnes dans Bootstrap est d'utiliser des col-XX-offset-Y
classes. getbootstrap.com/css/#grid-offsetting . Cette réponse était probablement correcte en 2013 mais ne devrait plus être utilisée aujourd'hui.
Dans la documentation Bootstrap :
Définissez un élément sur
display: block
et centrez viamargin
. Disponible en mixin et en classe.
<div class="center-block">...</div>
Pour les futurs visiteurs de cette question:
Si vous essayez de centrer une image dans un div mais que l'image ne se centre pas, cela pourrait décrire votre problème:
<div class="col-sm-4 text-center">
<img class="img-responsive text-center" src="myPic.jpg" />
</div>
La img-responsive
classe ajoute une display:block
instruction à la balise image, ce qui empêche text-align:center
( text-center
classe) de fonctionner.
SOLUTION:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
L'ajout de la center-block
classe remplace l' display:block
instruction insérée à l'aide de la img-responsive
classe.
Sans la img-responsive
classe, l'image se centrerait simplement en ajoutant de la text-center
classe
De plus, vous devez connaître les bases de flexbox et comment l'utiliser, puisque Bootstrap4 l'utilise désormais de manière native .
Voici un excellent tutoriel vidéo au rythme rapide par Brad Schiff
Voici une grande feuille de triche
Mise à jour 2018
Dans Bootstrap 4 , les méthodes de centrage ont changé.
Centre horizontal dans BS4
text-center
est toujours utilisé pour les display:inline
élémentsmx-auto
remplace center-block
pour centrer les display:flex
enfantsoffset-*
ou mx-auto
peut être utilisé pour centrer les colonnes de la grillemx-auto
(marges automatique d'axe x) se concentreront display:block
ou des display: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 diverses méthodes de centrage de Flexbox.
Demo Bootstrap 4 Centrage horizontal
Pour le centrage vertical dans BS4, voir https://stackoverflow.com/a/41464397/171456
Vous pouvez écrire directement dans votre fichier css comme ceci:
.content {
position: absolute;
top: 50%;
left:50%;
transform: translate(-50%,-50%);
}
<div class = "content" >
<p> some text </p>
</div>
j'utilise ceci
<style>
html, body {
height: 100%;
margin: 0;
padding: 0 0;
}
.container-fluid {
height: 100%;
display: table;
width: 100%;
padding-right: 0;
padding-left: 0;
}
.row-fluid {
height: 100%;
display: table-cell;
vertical-align: middle;
width: 100%;
}
.centering {
float: none;
margin: 0 auto;
}
</style>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="offset3 span6 centering">
content here
</div>
</div>
</div>
</body>
pour un centrage horizontal, vous pouvez avoir quelque chose comme ceci:
.centering{
float:none;
margin:0 auto
}
<div class="span8 centering"></div>
<img src="img/logo.png" style="float:none; margin:0 auto" />
. Entourer img
des parents div
et donner .text-center
ou donner des .pagination-centered
cours aux parents fonctionne comme un charme.
J'aime cette solution à partir d'une question similaire. https://stackoverflow.com/a/25036303/2364401 Utilisez la text-center
classe bootstraps sur les données de table réelles <td>
et les <th>
éléments d' en-tête de table . Alors
<td class="text-center">Cell data</td>
et
<th class="text-center">Header cell data</th>
Avec bootstrap 4, vous pouvez utiliser flex
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
source: bootstrap 4.1
bootstrap 4 + Flex résoudre ce problème
vous pouvez utiliser
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
il doit être centré horizontalement et verticalement
J'ai découvert dans Bootstrap 4 que vous pouvez faire ceci:
centre horizontal est en effet text-center
classe
center vertical cependant, l'utilisation de classes bootstrap ajoute les deux mb-auto mt-auto
afin que margin-top et margin bottom soient définis sur auto.
pour bootstrap4 centre vertical de quelques articles
d-flex pour les règles flex
colonne flexible pour la direction verticale sur les articles
centre de contenu de justification pour le centrage
style = 'height: 300px;' doit avoir pour les points de consigne où le centre doit être calculé ou utiliser la classe h-100
<div class="d-flex flex-column justify-content-center bg-secondary" style="
height: 300px;
">
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
</div>