Importante! Il centro verticale è relativo all'altezza del genitore
Se il genitore dell'elemento che stai cercando di centrare non ha un'altezza definita
, nessuna delle soluzioni di centraggio verticale funzionerà!
Ora, sul centraggio verticale in Bootstrap 4 ...
È possibile utilizzare le nuove utility flexbox e dimensioni per realizzare l' container
altezza massima e display: flex
. Queste opzioni non richiedono CSS extra (tranne per il fatto che l' altezza del contenitore (es: html, body) deve essere del 100% ).
Opzione 1 align-self-center
sul bambino flexbox
<div class="container d-flex h-100">
<div class="row justify-content-center align-self-center">
I'm vertically centered
</div>
</div>
https://www.codeply.com/go/fFqaDe5Oey
Opzione 2 align-items-center
sul genitore flexbox ( .row
è display:flex; flex-direction:row
)
<div class="container h-100">
<div class="row align-items-center h-100">
<div class="col-6 mx-auto">
<div class="jumbotron">
I'm vertically centered
</div>
</div>
</div>
</div>
https://www.codeply.com/go/BumdFnmLuk
Opzione 3 justify-content-center
sul genitore flexbox ( .card
è display:flex;flex-direction:column
)
<div class="container h-100">
<div class="row align-items-center h-100">
<div class="col-6 mx-auto">
<div class="card h-100 border-primary justify-content-center">
<div>
...card content...
</div>
</div>
</div>
</div>
</div>
https://www.codeply.com/go/3gySSEe7nd
Altro su Centratura verticale Bootstrap 4
Ora che Bootstrap 4 offre flexbox e altre utilità , ci sono molti approcci all'allineamento verticale. http://www.codeply.com/go/WG15ZWC4lf
1 - Centro verticale usando i margini automatici:
Un altro modo per centrare verticalmente è usare my-auto
. Questo centrerà l'elemento all'interno del suo contenitore. Ad esempio, h-100
rende la riga a tutta altezza e my-auto
centrerà verticalmente la col-sm-12
colonna.
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
Centro verticale usando la demo dei margini automatici
my-auto
rappresenta i margini sull'asse y verticale ed equivale a:
margin-top: auto;
margin-bottom: auto;
2 - Centro verticale con Flexbox:
Poiché Bootstrap 4 .row
è ora display:flex
puoi semplicemente usare align-self-center
su qualsiasi colonna per centrarlo verticalmente ...
<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>
oppure, usa align-items-center
tutto .row
per allineare verticalmente al centro tutto col-*
nella riga ...
<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>
Demo delle colonne di altezza diversa al centro verticale
Vedi questa Q / A al centro, ma mantieni la stessa altezza
3 - Centro verticale utilizzando gli strumenti di visualizzazione:
Bootstrap 4 ha utils visualizzazione che possono essere utilizzati per display:table
, display:table-cell
, display:inline
, ecc .. Questi possono essere usati con i utils di allineamento verticale alla linea di allineamento, linea-blocco o elementi di cella di tabella.
<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>
Centro verticale con Demo Utilità display
Altri esempi
Immagine del <div>
centro verticale nel centro verticale .row in .container Centro
verticale e fondo in <div>
Centro verticale figlio all'interno del genitore
Centro verticale jumbotron a schermo intero
Importante! Ho menzionato l'altezza?
Ricorda che il centraggio verticale è relativo all'altezza dell'elemento principale . Se vuoi centrare l'intera pagina, nella maggior parte dei casi, questo dovrebbe essere il tuo CSS ...
body,html {
height: 100%;
}
Oppure usa min-height: 100vh
( min-vh-100
in Bootstrap 4.1+) sul genitore / contenitore. Se si desidera centrare un elemento figlio all'interno del genitore. Il genitore deve avere un'altezza definita .
Vedi anche:
Allineamento verticale in bootstrap 4
Bootstrap 4 Centro verticale e allineamento orizzontale