Próbuję wyśrodkować mój kontener na środku strony za pomocą Bootstrap 4. Do tej pory mi się nie powiodło. Każda pomoc będzie mile widziana.
Zbudowałem go na Codepen.io , abyście mogli się nim bawić i dać mi znać, jak działa mój pomysł ...
źródło
Próbuję wyśrodkować mój kontener na środku strony za pomocą Bootstrap 4. Do tej pory mi się nie powiodło. Każda pomoc będzie mile widziana.
Zbudowałem go na Codepen.io , abyście mogli się nim bawić i dać mi znać, jak działa mój pomysł ...
Ważny! Środek pionowy odnosi się do wysokości rodzica
Jeśli element nadrzędny elementu, który próbujesz wyśrodkować, nie ma określonej wysokości , żadne z rozwiązań centrowania pionowego nie będzie działać!
Teraz na pionowe centrowanie w Bootstrap 4 ...
Możesz użyć nowego narzędzia Flexbox i rozmiaru, aby uzyskać container
pełną wysokość i display: flex
. Te opcje nie wymagają dodatkowego CSS (z wyjątkiem tego, że wysokość kontenera (np. Html, body) musi wynosić 100% ).
Opcja 1 align-self-center
na urządzeniu potomnym 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
Opcja 2 align-items-center
na urządzeniu nadrzędnym Flexbox ( .row
jest 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
Opcja 3 justify-content-center
na urządzeniu nadrzędnym Flexbox ( .card
jest 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
Więcej na temat centrowania pionowego Bootstrap 4
Teraz, gdy Bootstrap 4 oferuje Flexbox i inne narzędzia , istnieje wiele podejść do wyrównania pionowego. http://www.codeply.com/go/WG15ZWC4lf
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 kolumn w pionie pośrodku o różnych wysokościach
Zobacz Q / A, aby wyśrodkować, ale utrzymuj jednakową wysokość
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
Więcej przykładów
Pionowy obraz środkowy w <div>
pionowym środku. W. W. .Counter
Pionowy środek i dół w <div>
pionowym środku dziecko wewnątrz rodzica
Pionowe środkowe pełny ekran jumbotron
Ważny! Czy wspomniałem o wysokości?
Pamiętaj, że wyśrodkowanie w pionie odnosi się do wysokości elementu macierzystego . Jeśli chcesz wyśrodkować na całej stronie, w większości przypadków powinien to być Twój CSS ...
body,html {
height: 100%;
}
Lub użyj min-height: 100vh
( min-vh-100
w Bootstrap 4.1+) na rodzicu / kontenerze. Jeśli chcesz wyśrodkować element potomny wewnątrz rodzica. Rodzic musi mieć określoną wysokość .
Zobacz także:
Wyrównanie w pionie w bootstrap 4
Bootstrap 4 Centrum Wyrównanie w pionie i poziomie
możesz wyrównać kontener pionowo, uelastyczniając kontener nadrzędny i dodając
align-items:center
:Zaktualizowano pióro
źródło
html, body {height:100%}
... dodając, że to zadziałało! Dzięki!Po bootstrap 4 klasy pomogły mi rozwiązać ten problem
źródło
Ponieważ żadne z powyższych nie działało dla mnie, dodaję inną odpowiedź.
Cel: Wyrównanie w pionie i poziomie div na stronie za pomocą bootstrap 4 klas Flexbox.
Krok 1: Ustaw swój skrajny div na wysokość
100vh
. To ustawia wysokość na 100% wysokości Veiwport. Jeśli tego nie zrobisz, nic innego nie zadziała. Ustawienie go na wysokość100%
zależy tylko od rodzica, więc jeśli rodzic nie ma pełnej wysokości rzutni, nic nie będzie działać. W poniższym przykładzie ustawiłem Body na 100vh.Krok 2: Ustaw div kontenera jako kontener Flexbox z
d-flex
klasą.Krok 3: Wyśrodkuj div poziomo z
justify-content-center
klasą.Krok 4: Wyśrodkuj div pionowo za pomocą
align-items-center
Krok 5: Uruchom stronę, wyświetl pionowy i poziomy wyśrodkowany div.
Zauważ, że nie ma żadnej specjalnej klasy, która musiałaby być ustawiona na samym środku div (div dziecka)
źródło
100vh
sztuczka bardzo mi pomogła. Bootstrap zapewnia równieżvh-100
klasę do tego.źródło
Wypróbowałem wszystkie odpowiedzi tutaj, ale okazało się, że jest różnica między h-100 a vh-100 Oto moje rozwiązanie:
źródło
W Bootstrap 4 (beta) użyj
align-middle
. Zobacz dokumentację Bootstrap 4 na temat wyrównania pionowego :źródło
źródło
W tej linii odbywa się magia
<div class="col-md-6 my-auto">
,my-auto
która wyśrodkuje zawartość kolumny. Działa to doskonale w sytuacjach takich jak przykładowy kod powyżej, w którym możesz mieć obraz o zmiennej wielkości i musisz mieć tekst w kolumnie do odpowiedniej linii z nim.źródło
Zrobiłem to w ten sposób z Bootstrap
4.3.1
:źródło
źródło
flex-grow-1
klasy do karty zapobiega jej kurczeniu się.Wyrównanie w pionie Za pomocą tego 4 klas początkowych:
na przykład:
a jeśli chcesz, aby rodzic był w kręgu:
które dwie niestandardowe klasy css są następujące:
Ostateczne użycie może wyglądać na przykład:
źródło
Umieść zawartość w pojemniku Flexbox o wysokości 100%, tj. H-100. Następnie uzasadnij zawartość centralnie za pomocą klasy justify-content-center .
źródło
use
.my-auto
(bootsrap4) css class on yor divźródło
W Bootstrap 4.1.3:
To działało dla mnie, gdy próbowałem wyśrodkować plakietkę bootstrap wewnątrz tytułu
container > row > column
obokh1
tytułu.To, co działało, to prosty css:
lub
źródło