Aggiornamento 2019 - Bootstrap 4
"Contenuto centrato" può significare molte cose diverse e il centraggio di Bootstrap è cambiato molto dal post originale.
Centro orizzontale
Bootstrap 3
text-center
è usato per gli display:inline
elementi
center-block
centrare gli display:block
elementi
col-*offset-*
centrare le colonne della griglia
- vedere questa risposta per centrare la barra di navigazione
Demo Bootstrap 3: centraggio orizzontale
Bootstrap 4
text-center
è ancora usato per gli display:inline
elementi
mx-auto
sostituisce gli elementi center-block
centralidisplay:block
offset-*
o mx-auto
può essere utilizzato per centrare le colonne della griglia
justify-content-center
in row
può anche essere usato per centrarecol-*
mx-auto
(margini auto asse x) si concentreranno display:block
o display:flex
elementi che hanno una larghezza definita , ( %
, vw
, px
, ecc ..). Flexbox viene utilizzato per impostazione predefinita nelle colonne della griglia, quindi esistono anche vari metodi di centraggio del flexbox.
Demo Bootstrap 4 Centratura orizzontale
Centro verticale
Ora che Bootstrap 4 è flexbox per impostazione predefinita, ci sono molti approcci diversi all'allineamento verticale usando: margini automatici , programmi di utilità flexbox o programmi di visualizzazione insieme a programmi di allineamento verticale . Inizialmente "utils di allineamento verticale" sembra ovvio, ma funzionano solo con elementi di visualizzazione inline e table. Ecco alcune opzioni di centraggio verticale Bootstrap 4.
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
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