Junior
Do czego służy flex w CSS?
sobes.tech AI
Odpowiedź od AI
Flexbox jest używany do tworzenia jednowymiarowych układów elementów w kontenerze. Umożliwia zarządzanie wyrównaniem, rozkładem przestrzeni i kolejnością elementów.
Podstawowe pojęcia:
- Kontener Flex: Element nadrzędny, któremu przypisuje się
display: flexlubdisplay: inline-flex. - Elementy Flex: Elementy potomne kontenera Flex.
- Oś główna: Główna oś kontenera Flex. Definiowana przez właściwość
flex-direction. Domyślnie pozioma (row). - Oś krzyżowa: Oś prostopadła do osi głównej.
Kluczowe właściwości dla kontenera Flex:
display: Określa, że element jest kontenerem flex (flexlubinline-flex).flex-direction: Ustawia kierunek osi głównej (row,row-reverse,column,column-reverse).justify-content: Wyrównuje elementy flex wzdłuż osi głównej (flex-start,flex-end,center,space-between,space-around,space-evenly).align-items: Wyrównuje elementy flex wzdłuż osi krzyżowej (flex-start,flex-end,center,baseline,stretch).flex-wrap: Określa, czy elementy flex mają zawijać się do nowego wiersza/kolumny, gdy brakuje miejsca (nowrap,wrap,wrap-reverse).
Kluczowe właściwości dla elementów flex:
order: Ustawia kolejność wizualną elementu flex (domyślnie 0).flex-grow: Określa, jak bardzo element może rosnąć w porównaniu do innych (domyślnie 0).flex-shrink: Określa, jak bardzo element może się kurczyć w porównaniu do innych (domyślnie 1).flex-basis: Ustawia początkowy rozmiar elementu flex przed rozdzieleniem wolnej przestrzeni (domyślnie auto).align-self: Nadpisuje wyrównanie elementu flex wzdłuż osi krzyżowej dla pojedynczego elementu.
Przykład użycia:
.container {
display: flex;
justify-content: center; /* Wyśrodkowanie wzdłuż osi głównej */
align-items: center; /* Wyśrodkowanie wzdłuż osi krzyżowej */
height: 200px;
border: 1px solid black;
}
.item {
width: 50px;
height: 50px;
background-color: lightblue;
margin: 5px;
}
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Umożliwia to łatwe wyśrodkowanie elementów, tworzenie responsywnych siatek i zarządzanie przestrzenią między elementami.