J'ai une page où seul le formulaire existe et je veux que le formulaire soit placé au centre de l'écran.
<div class="container">
<div class="row justify-content-center align-items-center">
<form>
<div class="form-group">
<label for="formGroupExampleInput">Example label</label>
<input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input">
</div>
<div class="form-group">
<label for="formGroupExampleInput2">Another label</label>
<input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input">
</div>
</form>
</div>
</div>
Le justify-content-center
aligne le formulaire horizontalement, mais je n'arrive pas à comprendre comment l'aligner verticalement. J'ai essayé d'utiliser align-items-center
et align-self-center
, mais cela ne fonctionne pas.
Qu'est-ce que je rate?
Mise à jour 2019 - Bootstrap 4.3.1
Il n'y a pas besoin de CSS supplémentaire . Ce qui est déjà inclus dans Bootstrap fonctionnera. Assurez-vous que le ou les conteneurs du formulaire ont une hauteur maximale . Bootstrap 4 a maintenant une classe h-100
pour 100% de hauteur ...
Centre vertical:
<div class="container h-100">
<div class="row h-100 justify-content-center align-items-center">
<form class="col-12">
<div class="form-group">
<label for="formGroupExampleInput">Example label</label>
<input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input">
</div>
<div class="form-group">
<label for="formGroupExampleInput2">Another label</label>
<input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input">
</div>
</form>
</div>
</div>
https://www.codeply.com/go/raCutAGHre
la hauteur du conteneur avec le ou les éléments à centrer doit être de 100% (ou quelle que soit la hauteur souhaitée par rapport à l'élément centré)
Remarque: Lorsque vous utilisez height:100%
( pourcentage de hauteur ) sur n’importe quel élément, l’élément prend la hauteur de son conteneur . Dans les navigateurs modernes, les unités vh height:100vh;
peuvent être utilisées à la place de %
pour obtenir la hauteur souhaitée.
Par conséquent, vous pouvez définir html, body {height: 100%} ou utiliser la nouvelle classe min-vh-100
sur conteneur au lieu de h-100
.
Centre horizontal:
text-center
pour centrer display:inline
éléments et contenu des colonnesmx-auto
pour le centrage à l'intérieur des éléments flexiblesoffset-*
ou mx-auto
peut être utilisé pour centrer les colonnes (.col-
)justify-content-center
pour centrer les colonnes (col-*
) à l'intérieur de row
Centre d'alignement vertical dans Bootstrap 4
Bootstrap 4 en plein écran centré
groupe d'entrées Bootstrap 4 central
Bootstrap 4 horizontal + vertical centre plein écran
Ce travail pour moi:
<section class="h-100">
<header class="container h-100">
<div class="d-flex align-items-center justify-content-center h-100">
<div class="d-flex flex-column">
<h1 class="text align-self-center p-2">item 1</h1>
<h4 class="text align-self-center p-2">item 2</h4>
<button class="btn btn-danger align-self-center p-2" type="button" name="button">item 3</button>
</div>
</div>
</header>
</section>
Vous avez besoin de quelque chose pour centrer votre forme dans. Mais comme vous n'avez pas spécifié de hauteur pour votre html et votre corps, le contenu de ce dernier ne serait que le contenu, et non la fenêtre d'affichage. En d’autres termes, il n’y avait pas de place pour centrer l’article.
html, body {
height: 100%;
}
.container, .row.justify-content-center.align-items-center {
height: 100%;
min-height: 100%;
}
flexbox peut vous aider. info ici
<div class="d-flex flex-row justify-content-center align-items-center" style="height: 100px;">
<div class="p-2">
1
</div>
<div class="p-2">
2
</div>
</div>
Aucun n'a fonctionné pour moi. Mais le sien l'a fait.
Depuis que la classe Bootstrap 4 .row est maintenant affichée: vous pouvez simplement utiliser le nouvel utilitaire align-self-center flexbox 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>
Je l'ai appris de https://medium.com/wdstack/bootstrap-4-vertical-center-1211448a2eff
Bootstrap a text-center pour centrer un texte. Par exemple
<div class="container text-center">
Vous changez le suivant
<div class="row justify-content-center align-items-center">
au suivant
<div class="row text-center">