Przewód
Szybko zarządzaj układem, wyrównaniem i rozmiarami kolumn siatki, nawigacji, komponentów i nie tylko dzięki pełnemu zestawowi responsywnych narzędzi Flexbox. W przypadku bardziej złożonych implementacji może być konieczne niestandardowe CSS.
Włącz elastyczne zachowania
Zastosuj display
narzędzia, aby utworzyć kontener flexbox i przekształcić bezpośrednie elementy potomne w elementy flex. Elastyczne pojemniki i przedmioty można dalej modyfikować za pomocą dodatkowych właściwości elastycznych.
Odmiany responsywne istnieją również dla .d-flex
i .d-inline-flex
.
.d-flex
.d-inline-flex
.d-sm-flex
.d-sm-inline-flex
.d-md-flex
.d-md-inline-flex
.d-lg-flex
.d-lg-inline-flex
.d-xl-flex
.d-xl-inline-flex
Kierunek
Ustaw kierunek elementów elastycznych w kontenerze elastycznym za pomocą narzędzi kierunkowych. W większości przypadków możesz pominąć tutaj klasę poziomą, ponieważ domyślna przeglądarka to row
. Możesz jednak napotkać sytuacje, w których musisz jawnie ustawić tę wartość (np. Układy responsywne).
Użyj .flex-row
, aby ustawić kierunek poziomy (domyślny w przeglądarce) lub .flex-row-reverse
rozpocząć kierunek poziomy od przeciwnej strony.
Użyj .flex-column
, aby ustawić kierunek pionowy lub .flex-column-reverse
rozpocząć kierunek pionowy od przeciwnej strony.
Odmiany responsywne istnieją również dla flex-direction
.
.flex-row
.flex-row-reverse
.flex-column
.flex-column-reverse
.flex-sm-row
.flex-sm-row-reverse
.flex-sm-column
.flex-sm-column-reverse
.flex-md-row
.flex-md-row-reverse
.flex-md-column
.flex-md-column-reverse
.flex-lg-row
.flex-lg-row-reverse
.flex-lg-column
.flex-lg-column-reverse
.flex-xl-row
.flex-xl-row-reverse
.flex-xl-column
.flex-xl-column-reverse
Uzasadnij treść
Użyj justify-content
narzędzi na kontenerach flexbox, aby zmienić wyrównanie elementów flex na głównej osi (oś x do początku, oś y, jeśli flex-direction: column
). Wybierz spośród start
(domyślnie przeglądarki), end
, center
, between
lub around
.
Odmiany responsywne istnieją również dla justify-content
.
.justify-content-start
.justify-content-end
.justify-content-center
.justify-content-between
.justify-content-around
.justify-content-sm-start
.justify-content-sm-end
.justify-content-sm-center
.justify-content-sm-between
.justify-content-sm-around
.justify-content-md-start
.justify-content-md-end
.justify-content-md-center
.justify-content-md-between
.justify-content-md-around
.justify-content-lg-start
.justify-content-lg-end
.justify-content-lg-center
.justify-content-lg-between
.justify-content-lg-around
.justify-content-xl-start
.justify-content-xl-end
.justify-content-xl-center
.justify-content-xl-between
.justify-content-xl-around
Wyrównaj przedmioty
Użyj align-items
narzędzi na kontenerach flexbox, aby zmienić wyrównanie elementów elastycznych na osi poprzecznej (oś y do początku, oś x, jeśli flex-direction: column
). Wybierz spośród start
, end
, center
, baseline
lub stretch
(domyślna przeglądarka).
Odmiany responsywne istnieją również dla align-items
.
.align-items-start
.align-items-end
.align-items-center
.align-items-baseline
.align-items-stretch
.align-items-sm-start
.align-items-sm-end
.align-items-sm-center
.align-items-sm-baseline
.align-items-sm-stretch
.align-items-md-start
.align-items-md-end
.align-items-md-center
.align-items-md-baseline
.align-items-md-stretch
.align-items-lg-start
.align-items-lg-end
.align-items-lg-center
.align-items-lg-baseline
.align-items-lg-stretch
.align-items-xl-start
.align-items-xl-end
.align-items-xl-center
.align-items-xl-baseline
.align-items-xl-stretch
Wyrównaj siebie
Użyj align-self
narzędzi na elementach flexbox, aby indywidualnie zmienić ich wyrównanie na osi poprzecznej (oś y do początku, oś x, jeśli flex-direction: column
). Wybierz jedną z tych samych opcji, co align-items
: start
, end
, center
, baseline
lub stretch
(domyślna przeglądarka).
Odmiany responsywne istnieją również dla align-self
.
.align-self-start
.align-self-end
.align-self-center
.align-self-baseline
.align-self-stretch
.align-self-sm-start
.align-self-sm-end
.align-self-sm-center
.align-self-sm-baseline
.align-self-sm-stretch
.align-self-md-start
.align-self-md-end
.align-self-md-center
.align-self-md-baseline
.align-self-md-stretch
.align-self-lg-start
.align-self-lg-end
.align-self-lg-center
.align-self-lg-baseline
.align-self-lg-stretch
.align-self-xl-start
.align-self-xl-end
.align-self-xl-center
.align-self-xl-baseline
.align-self-xl-stretch
Wypełnić
Użyj .flex-fill
klasy na serii elementów równorzędnych, aby zmusić je do szerokości równej ich zawartości (lub równych szerokości, jeśli ich zawartość nie przekracza ramek granicznych), jednocześnie zajmując całą dostępną przestrzeń poziomą.
Odmiany responsywne istnieją również dla flex-fill
.
.flex-fill
.flex-sm-fill
.flex-md-fill
.flex-lg-fill
.flex-xl-fill
Rosną i kurczą się
Użyj .flex-grow-*
narzędzi, aby przełączyć zdolność elastycznego elementu do powiększania się, aby wypełnić dostępną przestrzeń. W poniższym przykładzie .flex-grow-1
elementy wykorzystują całą dostępną przestrzeń, jaką mogą, pozostawiając pozostałym dwóm elementom elastycznym ich niezbędną przestrzeń.
Użyj .flex-shrink-*
narzędzi, aby w razie potrzeby przełączyć zdolność elementu elastycznego do zmniejszania. W poniższym przykładzie drugi element flex z .flex-shrink-1
jest zmuszony do zawinięcia swojej zawartości do nowej linii, „kurcząc się”, aby zapewnić więcej miejsca dla poprzedniego elementu flex z .w-100
.
Odmiany responsywne istnieją również dla flex-grow
i flex-shrink
.
.flex-{grow|shrink}-0
.flex-{grow|shrink}-1
.flex-sm-{grow|shrink}-0
.flex-sm-{grow|shrink}-1
.flex-md-{grow|shrink}-0
.flex-md-{grow|shrink}-1
.flex-lg-{grow|shrink}-0
.flex-lg-{grow|shrink}-1
.flex-xl-{grow|shrink}-0
.flex-xl-{grow|shrink}-1
Marże automatyczne
Flexbox może zrobić kilka niesamowitych rzeczy, gdy połączysz elastyczne wyrównanie z automatycznymi marginesami. Poniżej przedstawiono trzy przykłady kontrolowania elementów elastycznych za pomocą automatycznych marginesów: domyślny (brak automatycznego marginesu), przesunięcie dwóch elementów w prawo ( .mr-auto
) i przesunięcie dwóch elementów w lewo ( .ml-auto
).
Niestety IE10 i IE11 nie obsługują poprawnie automatycznych marginesów na elementach flex, których rodzic ma justify-content
wartość inną niż domyślna. Zobacz tę odpowiedź StackOverflow , aby uzyskać więcej informacji.
Z wyrównaniem elementów
Przenieś w pionie jeden element flex na górę lub dół kontenera, mieszając align-items
, flex-direction: column
i margin-top: auto
lub margin-bottom: auto
.
Zawinąć
Zmień sposób zawijania elementów elastycznych w kontenerze elastycznym. Wybierz opcję braku zawijania (domyślne ustawienie przeglądarki) za pomocą .flex-nowrap
, zawijania za pomocą .flex-wrap
lub odwrotnego zawijania za pomocą .flex-wrap-reverse
.
Odmiany responsywne istnieją również dla flex-wrap
.
.flex-nowrap
.flex-wrap
.flex-wrap-reverse
.flex-sm-nowrap
.flex-sm-wrap
.flex-sm-wrap-reverse
.flex-md-nowrap
.flex-md-wrap
.flex-md-wrap-reverse
.flex-lg-nowrap
.flex-lg-wrap
.flex-lg-wrap-reverse
.flex-xl-nowrap
.flex-xl-wrap
.flex-xl-wrap-reverse
Zamówienie
Zmień wizualną kolejność określonych elementów elastycznych za pomocą kilku order
narzędzi. Zapewniamy tylko opcje dodawania przedmiotu jako pierwszego lub ostatniego, a także resetowania w celu użycia zamówienia DOM. Jak order
przyjmuje dowolną wartość całkowitą (np. 5
), dodaj niestandardowy CSS dla wszelkich dodatkowych potrzebnych wartości.
Odmiany responsywne istnieją również dla order
.
.order-0
.order-1
.order-2
.order-3
.order-4
.order-5
.order-6
.order-7
.order-8
.order-9
.order-10
.order-11
.order-12
.order-sm-0
.order-sm-1
.order-sm-2
.order-sm-3
.order-sm-4
.order-sm-5
.order-sm-6
.order-sm-7
.order-sm-8
.order-sm-9
.order-sm-10
.order-sm-11
.order-sm-12
.order-md-0
.order-md-1
.order-md-2
.order-md-3
.order-md-4
.order-md-5
.order-md-6
.order-md-7
.order-md-8
.order-md-9
.order-md-10
.order-md-11
.order-md-12
.order-lg-0
.order-lg-1
.order-lg-2
.order-lg-3
.order-lg-4
.order-lg-5
.order-lg-6
.order-lg-7
.order-lg-8
.order-lg-9
.order-lg-10
.order-lg-11
.order-lg-12
.order-xl-0
.order-xl-1
.order-xl-2
.order-xl-3
.order-xl-4
.order-xl-5
.order-xl-6
.order-xl-7
.order-xl-8
.order-xl-9
.order-xl-10
.order-xl-11
.order-xl-12
Wyrównaj zawartość
Użyj align-content
narzędzi na kontenerach flexbox, aby wyrównać elementy flex razem na osi poprzecznej. Wybierz spośród start
(domyślnie przeglądarki), end
, center
, between
, around
lub stretch
. Aby zademonstrować te narzędzia, wymusiliśmy flex-wrap: wrap
i zwiększyliśmy liczbę elementów elastycznych.
Heads-up! Ta właściwość nie ma wpływu na pojedyncze wiersze elementów flex.
Odmiany responsywne istnieją również dla align-content
.
.align-content-start
.align-content-end
.align-content-center
.align-content-around
.align-content-stretch
.align-content-sm-start
.align-content-sm-end
.align-content-sm-center
.align-content-sm-around
.align-content-sm-stretch
.align-content-md-start
.align-content-md-end
.align-content-md-center
.align-content-md-around
.align-content-md-stretch
.align-content-lg-start
.align-content-lg-end
.align-content-lg-center
.align-content-lg-around
.align-content-lg-stretch
.align-content-xl-start
.align-content-xl-end
.align-content-xl-center
.align-content-xl-around
.align-content-xl-stretch