Używanie właściwości justify-content, align-items

Używanie właściwości justify-content i align-items

Jedną z największych zalet Flexboxa jest możliwość precyzyjnego kontrolowania rozmieszczenia elementów wewnątrz kontenera – zarówno w poziomie, jak i pionie. Dwie właściwości, które za to odpowiadają, to:

  • justify-content – steruje położeniem elementów względem osi głównej (domyślnie poziomej),
  • align-items – steruje położeniem elementów względem osi poprzecznej (domyślnie pionowej).

Dzięki tym właściwościom możesz łatwo wyśrodkować elementy, rozłożyć je równomiernie, przyciągnąć do lewej lub prawej strony, a także ustawić je w pionie dokładnie tak, jak chcesz.

1. justify-content – wyrównywanie w poziomie

Właściwość justify-content decyduje o tym, jak elementy będą rozmieszczone wzdłuż osi głównej (czyli w poziomie, jeśli nie zmieniono flex-direction).

Dostępne wartości:

  • flex-start – elementy ustawione przy lewej krawędzi (domyślnie),
  • flex-end – elementy przy prawej krawędzi,
  • center – elementy wyśrodkowane,
  • space-between – pierwszy i ostatni przy krawędziach, pozostałe rozłożone równo,
  • space-around – równomierne odstępy wokół każdego elementu,
  • space-evenly – jednakowe odstępy między wszystkimi elementami (łącznie z krawędziami).
.flex-container {
  display: flex;
  justify-content: center;
}

Efekt działania: wszystkie elementy zostaną wyśrodkowane poziomo w kontenerze.

Sprawdź samodzielnie w JSFiddle:
👉 Otwórz JSFiddle i wstaw kod HTML z kilkoma elementami w kontenerze display: flex. Zmieniaj wartość justify-content i obserwuj, jak zmienia się rozmieszczenie.

2. align-items – wyrównywanie w pionie

Właściwość align-items steruje rozmieszczeniem elementów względem osi poprzecznej (domyślnie pionowej, czyli w pionie). Działa tylko wtedy, gdy kontener ma wysokość większą niż elementy.

Dostępne wartości:

  • stretch – elementy rozciągają się do wysokości kontenera (domyślnie),
  • flex-start – elementy wyrównane do góry,
  • flex-end – elementy przy dolnej krawędzi kontenera,
  • center – elementy wyśrodkowane w pionie,
  • baseline – elementy wyrównane do linii bazowej tekstu.
.flex-container {
  display: flex;
  align-items: center;
  height: 200px;
}

Efekt działania: elementy będą wyśrodkowane w pionie wewnątrz kontenera o wysokości 200px.

Sprawdź działanie w JSFiddle:
Dodaj kilka prostokątnych <div> i testuj różne wartości align-items. Zmieniaj wysokość kontenera i elementów, aby zobaczyć różnice.

3. Łączenie justify-content i align-items

Największa moc Flexboxa pojawia się wtedy, gdy używasz obu właściwości razem. Przykład: idealne wycentrowanie elementów w pionie i poziomie:

.flex-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
}

Efekt działania: wszystkie elementy będą idealnie wyśrodkowane – zarówno w pionie, jak i poziomie.

Ćwiczenie:
W JSFiddle zbuduj kontener z 3 prostokątami. Dodaj im różne kolory, zmieniaj justify-content i align-items, a także rozmiar kontenera. Sprawdź, jak elementy zmieniają położenie w zależności od ustawień.

Dzięki tym właściwościom możesz zbudować dowolny układ – bez kombinowania z margin, position czy float. Flexbox daje Ci precyzję i prostotę w jednym.