Aktualizacja 2019 - Bootstrap 4
„Wyśrodkowana zawartość” może oznaczać wiele różnych rzeczy, a centrowanie Bootstrap bardzo się zmieniło od czasu pierwszego postu.
Centrum poziome
Bootstrap 3
text-center
służy do display:inline
elementów
center-block
do centrowania display:block
elementów
col-*offset-*
do centrowania kolumn siatki
- zobacz tę odpowiedź, aby wyśrodkować pasek nawigacyjny
Demo Bootstrap 3 Poziome centrowanie
Bootstrap 4
text-center
jest nadal używany do display:inline
elementów
mx-auto
zastępuje elementy center-block
środkowedisplay:block
offset-*
lub mx-auto
może być użyty do wyśrodkowania kolumn siatki
justify-content-center
w row
może być również używany do centrumcol-*
mx-auto
(marginesy automatycznego oś x) będzie koncentrować display:block
lub display:flex
elementów, które mają określoną szerokość , ( %
, vw
, px
itp ..). Flexbox jest domyślnie używany w kolumnach siatki, więc istnieją również różne metody centrowania Flexbox.
Demo Bootstrap 4 Poziome centrowanie
Centrum pionowe
Teraz, gdy Bootstrap 4 jest domyślnie Flexbox, istnieje wiele różnych podejść do wyrównania w pionie za pomocą: auto-marginesów , narzędzi Flexbox lub narzędzi wyświetlania wraz z narzędziami wyrównania pionowego . Na początku „narzędzia do wyrównywania w pionie” wydają się oczywiste, ale działają one tylko z wbudowanymi i tabelowymi elementami wyświetlającymi. Oto niektóre opcje centrowania pionowego Bootstrap 4.
1 - Środek pionowy przy użyciu automatycznych marginesów:
Innym sposobem na wyśrodkowanie w pionie jest użycie my-auto
. Spowoduje to wyśrodkowanie elementu w jego kontenerze. Na przykład ustawia h-100
wiersz na pełną wysokość i my-auto
wyśrodkuje col-sm-12
kolumnę pionowo .
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
Pionowe centrum Korzystanie Auto Marginesy Demo
my-auto
reprezentuje marginesy na pionowej osi y i jest równoważny:
margin-top: auto;
margin-bottom: auto;
2 - Centrum pionowe z Flexbox:
Ponieważ Bootstrap 4 .row
jest teraz display:flex
, możesz po prostu użyć align-self-center
dowolnej kolumny, aby wyśrodkować ją pionowo ...
<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>
lub użyj align-items-center
całości, .row
aby wyśrodkować w pionie wszystkie col-*
w rzędzie ...
<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>
Demonstracja pionowych środkowych kolumn o różnych wysokościach
3 - Środek pionowy za pomocą wyświetlaczy:
Bootstrap 4 ma narzędzi z ekranu , który może być używany do display:table
, display:table-cell
, display:inline
, etc .. Mogą one być stosowane z pionowych utils wyrównanie , aby wyrównać inline inline bloku lub elementy komórka tabeli.
<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>
Centrum w pionie za pomocą narzędzia Display Demo