Flex Bootstrap 5

ramie elastyczne

Największa różnica między Bootstrap 3 a Bootstrap 4 & 5 polega na tym, że Bootstrap 5 używa teraz flexbox zamiast float do obsługi układu.

moduł elastycznego ramienia, który pozwala na łatwiejsze projektowanie elastycznych struktur responsywnych bez użycia float lub pozycjonowania.

Jeśli nie znasz flex, możesz nauczyć się tego w naszym Kurs CSS Flexbox naucz się.

Komentarz:Wersje IE9 i wcześniejsze nie obsługują Flexbox.

Komentarz:Jeśli potrzebujesz obsługi IE8-9, użyj Bootstrap 3. Jest to najbardziej stabilna wersja Bootstrap, zespół wciąż go wspiera, aby naprawiać kluczowe błędy i wprowadzać zmiany w dokumentacji. Jednak nie będą wprowadzane żadne nowe funkcje.

Przykład

Aby utworzyć kontener flexbox i przekształcić bezpośrednie elementy potomne w elementy flex, użyj d-flex Klasa:

<div class="d-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary">Element elastyczny 3</div>
</div>

Spróbuj sam

Przykład

Aby utworzyć kontener wiersza wewnętrznego flexbox, użyj d-inline-flex Klasa:

<div class="d-inline-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary">Element elastyczny 3</div>
</div>

Spróbuj sam

Kierunek poziomy

użyj .flex-row Wyświetlać elementy flex w poziomie (obok siebie). Jest to ustawienie domyślne.

Wskazówka:używając .flex-row-reverse Można wyprostować je w kierunku prawym poziomym:

Przykład

<div class="d-flex flex-row bg-secondary">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary">Element elastyczny 3</div>
</div>
<div class="d-flex flex-row-reverse bg-secondary">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary">Element elastyczny 3</div>
</div>

Spróbuj sam

Kierunek pionowy

użyj .flex-column Wyświetlać elementy flex w pionie (zamiast siebie nawzajem), lub użyć .flex-column-reverse Odwrócić kierunek pionowy:

Przykład

<div class="d-flex flex-column">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary">Element elastyczny 3</div>
</div>
<div class="d-flex flex-column-reverse">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary">Element elastyczny 3</div>
</div>

Spróbuj sam

Wyśrodkuj zawartość

używając .justify-content-* Klasa może zmienić sposób wyrównania elementów elastycznych. Dostępne klasy to:

  • start(domyślnie)
  • end
  • center
  • between
  • around

Przykład

<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-center">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>

Spróbuj sam

Równa szerokość

używając na elemencie flex .flex-fill Można zmusić je do równego szerokości:

Przykład

<div class="d-flex">
  <div class="p-2 bg-info flex-fill">Elastyczny element 1</div>
  <div class="p-2 bg-warning flex-fill">Elastyczny element 2</div>
  <div class="p-2 bg-primary flex-fill">Elastyczny element 3</div>
</div>

Spróbuj sam

Rozciągać

używając na elemencie flex .flex-grow-1 Można zająć dodatkowe miejsce. W poniższym przykładzie, pierwsze dwa elementy flex zajmują niezbędne miejsce, a ostatni element zajmuje pozostałą dostępną przestrzeń:

Przykład

<div class="d-flex">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary flex-grow-1">Element elastyczny 3</div>
</div>

Spróbuj sam

Wskazówka:używając na elemencie flex .flex-shrink-1 może się kurczyć, jeśli to konieczne.

Kolejność

używając .order klasy mogą zmieniać wizualną kolejność konkretnego elementu flex. Dostępne klasy od 0 do 5, gdzie najniższa liczba ma najwyższy priorytet (order-1 jest przed order-2, itd.):

Przykład

<div class="d-flex bg-secondary">
  <div class="p-2 bg-info order-3">Element elastyczny 1</div>
  <div class="p-2 bg-warning order-2">Element elastyczny 2</div>
  <div class="p-2 bg-primary order-1">Element elastyczny 3</div>
</div>

Spróbuj sam

automatycznych marginesów zewnętrznych

używając .me-auto(przesuwa projekt w prawo) lub użyć .ms-auto(przesuwa projekt w lewo) Można łatwo dodać automatyczne marginesy do elementów flex:

Przykład

<div class="d-flex bg-secondary">
  <div class="p-2 ms-auto bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 bg-primary">Element elastyczny 3</div>
</div>
<div class="d-flex bg-secondary">
  <div class="p-2 bg-info">Element elastyczny 1</div>
  <div class="p-2 bg-warning">Element elastyczny 2</div>
  <div class="p-2 ms-auto bg-primary">Element elastyczny 3</div>
</div>

Spróbuj sam

Przełącz wiersze

poprzez .flex-nowrapdomyślnie,.flex-wrap lub .flex-wrap-reversekontrolują, jak elementy flex są opakowywane w kontenerze flex.

Przykład

<div class="d-flex flex-wrap">..</div>
<div class="d-flex flex-wrap-reverse">..</div>
<div class="d-flex flex-nowrap">..</div>

Spróbuj sam

Wyśrodkuj zawartość

użyj .ustawia-zawartość-* Klasy kontrolują verticalne wyważenie elementów elastycznych. Dostępne klasy to:

  • .ustawia zawartość na początek(domyślnie)
  • .ustawia zawartość na koniec
  • .centeruje zawartość
  • .align-content-between
  • .align-content-around
  • .align-content-stretch

Komentarz:Te klasy nie mają wpływu na wiersz jednorzędowy.

Kliknij poniższy przycisk, aby zobaczyć różnice między pięcioma klasami: zmieniając wertykalne wyważanie elementów elastycznych w oknie instancji.

Przykład

<div class="d-flex flex-wrap align-content-start">..</div>
<div class="d-flex flex-wrap align-content-end">..</div>
<div class="d-flex flex-wrap align-content-center">..</div>
<div class="d-flex flex-wrap align-content-around">..</div>
<div class="d-flex flex-wrap align-content-stretch">..</div>

Spróbuj sam

Wyśrodkuj elementy

użyj .align-items-* klasa kontrolnawiersz jednorzędowywertykalne wyważanie elastycznych elementów. Dostępne klasy to:

  • .align-items-start
  • .align-items-end
  • .align-items-center
  • .align-items-baseline
  • .align-items-stretch(domyślnie)

Kliknij poniższy przycisk, aby zobaczyć różnice między pięcioma klasami:

Przykład

<div class="d-flex align-items-start">..</div>
<div class="d-flex align-items-end">..</div>
<div class="d-flex align-items-center">..</div>
<div class="d-flex align-items-baseline">..</div>
<div class="d-flex align-items-stretch">..</div>

Spróbuj sam

samowyważenie

użyj .align-self-* klasa kontrolnaokreśla elastyczne elementysposób wertykalnego wyważania.

  • .align-self-start
  • .align-self-end
  • .align-self-center
  • .align-self-baseline
  • .align-self-stretch(domyślnie)

Kliknij poniższy przycisk, aby zobaczyć różnice między pięcioma klasami:

Przykład

<div class="d-flex bg-light" style="height:150px">
  <div class="p-2 border">Element elastyczny 1</div>
  <div class="p-2 border align-self-start">Element elastyczny 2</div>
  <div class="p-2 border">Element elastyczny 3</div>
</div>

Spróbuj sam

Elastyczne klasy odpowiedzi

Wszystkie klasy elastyczne mają dodatkowe klasy odpowiedzi, co ułatwia ustawianie konkretnych klas flex na określonych rozmiarach ekranu.

* symbol można zastąpić sm, md, lg, xl lub xxl, co oznacza mały, średni, duży, bardzo duży i extra duży ekran.

Szukaj konkretnych klas elastycznych ..

Klasa Opis Przykład
Kontener elastyczny
.d-*-flex Utwórz kontener flexbox dla różnych ekranów. Spróbuj
.d-*-inline-flex Utwórz kontener flexbox wiersza dla różnych ekranów. Spróbuj
Kierunek
.flex-*-row Pokazuj elastyczne elementy poziomo na różnych ekranach. Spróbuj
.flex-*-row-reverse Pokazuj elastyczne elementy poziomo i w prawo wycentrowane na różnych ekranach. Spróbuj
.flex-*-column Pokazuj elastyczne elementy wertykalnie na różnych ekranach. Spróbuj
.flex-*-column-reverse Pokazuj elastyczne elementy wertykalnie w przeciwnym kierunku na różnych ekranach. Spróbuj
Zawartość w rzędzie
.justify-content-*-start Pokazuj elastyczne elementy od początku (w lewo wycentrowane) na różnych ekranach. Spróbuj
.justify-content-*-end Pokazuj elastyczne elementy na końcu (w prawo wycentrowane) na różnych ekranach. Spróbuj
.justify-content-*-center Pokazuj elastyczne elementy w centrum kontenera na różnych ekranach. Spróbuj
.justify-content-*-between Pokazuj równomiernie elastyczne elementy na różnych ekranach. Spróbuj
.justify-content-*-around Pokazuj elastyczne elementy 'wokół' na różnych ekranach. Spróbuj
Fill / Równa szerokość
.flex-*-fill Wymuś równomierne szerokości elastycznych elementów na różnych ekranach. Spróbuj
Rozszerzenie
.flex-*-grow-0 Nie pozwól, aby elementy się rozszerzały na różnych ekranach.
.flex-*-grow-1 Rozszerzenie elementów na różnych ekranach.
Zmniejszenie
.flex-*-shrink-0 Nie pozwól elementom kurczyć się na różnych ekranach.
.flex-*-shrink-1 Pozwól elementom się kurczyć na różnych ekranach.
Kolejność
.order-*-0-12 Zmień kolejność od 0 do 12 na małych ekranach. Spróbuj
Przełącz wiersze
.flex-*-nowrap Nie przełączaj wierszy elementów na różnych ekranach. Spróbuj
.flex-*-wrap Przełączaj wiersze elementów na różnych ekranach. Spróbuj
.flex-*-wrap-reverse Odwróć wiersze elementów na różnych ekranach. Spróbuj
Wyśrodkuj zawartość
.align-content-*-start Wyśrodkuj elementy od początku różnych ekranów. Spróbuj
.align-content-*-end Wyśrodkuj elementy na końcu różnych ekranów. Spróbuj
.align-content-*-center Wyśrodkuj elementy w środku różnych ekranów. Spróbuj
.align-content-*-around Wyśrodkuj elementy wokół różnych ekranów. Spróbuj
.align-content-*-stretch Rozciągnij elementy na różnych ekranach. Spróbuj
Wyśrodkuj elementy
.align-items-*-start Wyśrodkuj pojedyncze wiersze od początku różnych ekranów. Spróbuj
.align-items-*-end Wyśrodkuj pojedyncze wiersze na końcu różnych ekranów. Spróbuj
.align-items-*-center Wyśrodkuj pojedyncze wiersze w środku różnych ekranów. Spróbuj
.align-items-*-baseline Wyśrodkuj pojedyncze wiersze na bazie różnych ekranów. Spróbuj
.align-items-*-stretch Rozciągnij pojedyncze wiersze na różnych ekranach. Spróbuj
Wyśrodkuj sam siebie
.align-self-*-start Wyśrodkuj elastyczne elementy od początku różnych ekranów. Spróbuj
.align-self-*-end Wyśrodkuj elastyczne elementy na końcu różnych ekranów. Spróbuj
.align-self-*-center Wyśrodkuj elastyczne elementy w środku różnych ekranów. Spróbuj
.align-self-*-baseline Wyśrodkuj elastyczne elementy na bazie różnych ekranów. Spróbuj
.align-self-*-stretch Rozciągnij elastyczne elementy na różnych ekranach. Spróbuj