6.1 Właściwość flex-direction
Flexbox oferuje elastyczne i potężne narzędzia do tworzenia responsywnych układów. Ważną częścią tego systemu są osie rozmieszczenia, które określają, jak Flex-elementy będą rozmieszczane wewnątrz Flex-kontenera. Poniżej szczegółowo omówimy właściwości flex-direction i flex-wrap, które kontrolują kierunek osi i zachowanie Flex-elementów przy przepełnieniu.
Właściwość flex-direction określa kierunek głównej osi, wzdłuż której będą rozmieszczane Flex-elementy. Ten kierunek może być poziomy lub pionowy, a także bezpośredni lub odwrotny.
Wartości:
row: główna oś biegnie poziomo z lewej do prawej (wartość domyślna)row-reverse: główna oś biegnie poziomo z prawej do lewejcolumn: główna oś biegnie pionowo z góry na dółcolumn-reverse: główna oś biegnie pionowo z dołu do góry
Przykład użycia
1. Elementy są rozmieszczone poziomo:
.container-row {
display: flex;
flex-direction: row;
border: 2px solid #000;
padding: 10px;
}
.container-row-reverse {
display: flex;
flex-direction: row-reverse;
border: 2px solid #000;
padding: 10px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
}
<div class="container-row">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
</div>
<div class="container-row-reverse">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
</div>
2. Elementy są rozmieszczone pionowo:
.container-column {
display: flex;
flex-direction: column;
border: 2px solid #000;
padding: 10px;
}
.container-column-reverse {
display: flex;
flex-direction: column-reverse;
border: 2px solid #000;
padding: 10px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
}
<div class="container-column">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
</div>
<div class="container-column-reverse">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
</div>
Wyjaśnienie kodu:
.container-row: elementy rozmieszczone są poziomo z lewej do prawej.container-row-reverse: elementy rozmieszczone są poziomo z prawej do lewej.container-column: elementy rozmieszczone są pionowo z góry na dół.container-column-reverse: elementy rozmieszczone są pionowo z dołu do góry
6.2 Właściwość flex-wrap
Właściwość flex-wrap określa, czy Flex-elementy będą przenoszone do nowego wiersza/kolumny, jeśli nie mieszczą się w jednym rzędzie. Jest to szczególnie przydatne dla tworzenia responsywnych układów, gdzie rozmiar kontenera może się zmieniać w zależności od urządzenia lub ekranu.
Wartości
nowrap: elementy nie są przenoszone i rozmieszczane w jednym wierszu/kolumnie (wartość domyślna)wrap: elementy przenoszone są do nowego wiersza/kolumny, gdy to koniecznewrap-reverse: elementy przenoszone są do nowego wiersza/kolumny w odwrotnej kolejności
Przykłady użycia
Wartość nowrap:
Elementy nie są przenoszone i rozmieszczane w jednym wierszu/kolumnie (wartość domyślna).
.container-nowrap {
display: flex;
flex-wrap: nowrap;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container-nowrap">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
<div class="item">Element 4</div>
</div>
Wartość wrap:
Elementy przenoszone są do nowego wiersza/kolumny, gdy to konieczne.
.container-wrap {
display: flex;
flex-wrap: wrap;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container-wrap">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
<div class="item">Element 4</div>
</div>
Wartość wrap-reverse:
Elementy przenoszone są do nowego wiersza/kolumny w odwrotnej kolejności.
.container-wrap-reverse {
display: flex;
flex-wrap: wrap-reverse;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container-wrap-reverse">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
<div class="item">Element 4</div>
</div>
Wyjaśnienie kodu:
.container-nowrap: Flex-elementy rozmieszczane są w jednym wierszu, nawet jeśli wychodzą poza granice kontenera.container-wrap: Flex-elementy przenoszone są do nowego wiersza, jeśli nie mieszczą się w jednym wierszu.container-wrap-reverse: Flex-elementy przenoszone są do nowego wiersza w odwrotnej kolejności
6.3 Użycie flex-direction i flex-wrap
Właściwości flex-direction i flex-wrap można łączyć za pomocą skróconej właściwości flex-flow. To właściwość pozwala ustawiać kierunek osi i przenoszenie elementów jednocześnie.
Składnia:
.container {
flex-flow: [flex-direction] [flex-wrap];
}
Przykład użycia:
.container {
display: flex;
flex-flow: row wrap;
border: 2px solid #000;
padding: 10px;
width: 300px;
}
.item {
background-color: #3498db;
color: white;
padding: 10px;
margin: 5px;
width: 100px;
}
<div class="container">
<div class="item">Element 1</div>
<div class="item">Element 2</div>
<div class="item">Element 3</div>
<div class="item">Element 4</div>
<div class="item">Element 5</div>
</div>
Wyjaśnienie kodu:
-
.container: Flex-kontener z połączonym użyciemflex-direction: row;iflex-wrap: wrap;, co oznacza, że elementy rozmieszczane są poziomo i przenoszone do nowego wiersza, gdy jest to konieczne
GO TO FULL VERSION