Przejdź do głównej zawartości

Podstawy CSS Grid

Podstawy CSS Grid

CSS Grid Layout to dwuwymiarowy system layoutu w CSS, który pozwala na tworzenie złożonych siatek z wierszami i kolumnami jednocześnie. W przeciwieństwie do Flexbox (jednowymiarowego), Grid daje pełną kontrolę nad rozmieszczeniem elementów w dwóch wymiarach. Pozwala definiować obszary siatki, tworzyć responsywne layouty i precyzyjnie kontrolować pozycję każdego elementu.

  • Potężny system layoutu – Grid rozwiązuje problemy, które Flexbox obsługuje z trudem
  • Layouty dwuwymiarowe – nagłówek, sidebar, main, footer w jednej deklaracji
  • Responsywność – łatwa zmiana układu dla różnych rozmiarów ekranu
  • Wsparcie przeglądarek – pełne wsparcie we wszystkich nowoczesnych przeglądarkach
  • Egzaminy zawodowe – temat pojawia się na egzaminach INF.03/INF.04
  1. Zrozumieć różnicę między CSS Grid a Flexbox
  2. Poznać podstawowe właściwości: grid-template-columns, grid-template-rows
  3. Opanować pozycjonowanie elementów: grid-column, grid-row, grid-area
  4. Umieć wyjaśnić koncepcję nazwanych obszarów (grid-template-areas)
  5. Stworzyć praktyczny layout strony z użyciem Grid
  1. Podstawy CSS Grid

    • Włączenie Grid: display: grid
    • Kontener grid vs elementy grid
    • Model dwuwymiarowy – wiersze I kolumny
  2. Definiowanie siatki

    • grid-template-columns – definicja kolumn
    • grid-template-rows – definicja wierszy
    • Jednostka fr (fraction) – elastyczne rozmiary
    • Funkcja repeat() – powtarzanie wzorców
  3. Pozycjonowanie elementów

    • grid-column – pozycja w kolumnach (start/end)
    • grid-row – pozycja w wierszach (start/end)
    • Rozciąganie elementów (spanning)
    • gap – odstępy między komórkami
  4. Nazwane obszary

    • grid-template-areas – wizualna definicja layoutu
    • grid-area – przypisanie elementu do obszaru
    • Zalety czytelności kodu
  5. Grid vs Flexbox

    • Kiedy używać Grid, a kiedy Flexbox
    • Różnice w zastosowaniu
    • Łączenie obu technik

Przykład 1

Siatka 2x3 – podstawowa siatka z kolumnami i wierszami

Przykład 2

Nazwane obszary – layout strony z grid-template-areas

Przykład 3

Porównanie z Flexbox – ten sam layout w obu technikach

Przykład 4

Responsywny Grid – zmiana układu w media queries

/* Włączenie CSS Grid */
.container {
display: grid;
}
/* Definicja kolumn i wierszy */
.grid-3x2 {
display: grid;
grid-template-columns: 200px 200px 200px; /* 3 kolumny po 200px */
grid-template-rows: 100px 100px; /* 2 wiersze po 100px */
gap: 10px; /* Odstęp 10px */
}
/* Jednostka fr (fraction) - elastyczne rozmiary */
.grid-flexible {
display: grid;
grid-template-columns: 1fr 2fr 1fr; /* Proporcje 1:2:1 */
grid-template-rows: auto; /* Wysokość automatyczna */
gap: 1rem;
}
/* Funkcja repeat() - powtarzanie wzorców */
.grid-repeat {
display: grid;
grid-template-columns: repeat(4, 1fr); /* 4 równe kolumny */
grid-template-columns: repeat(3, 100px); /* 3 kolumny po 100px */
grid-template-columns: repeat(2, 1fr 2fr); /* Wzorzec 1fr 2fr powtórzony 2x */
}
/* Funkcja minmax() - minimalna i maksymalna szerokość */
.grid-minmax {
display: grid;
grid-template-columns: repeat(3, minmax(200px, 1fr));
gap: 1rem;
}
/* Auto-fill i auto-fit - automatyczna liczba kolumn */
.grid-auto {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 1rem;
}
  • Implicit vs Explicit Grid – automatycznie generowane wiersze/kolumny
  • grid-auto-flow – kontrola automatycznego rozmieszczania
  • Subgrid – dziedziczenie siatki przez zagnieżdżone elementy
  • Wyrównanie w Grid – justify-items, align-items, place-items
  • Linie nazwane[header-start] 1fr [header-end]
  • Narzędzia deweloperskie – wizualizacja Grid w DevTools
  1. Wstęp (0.5 strony) – ewolucja layoutu CSS do Grid
  2. Podstawy Grid (1 strona) – włączenie, terminologia
  3. Definiowanie siatki (1.5 strony) – columns, rows, fr, repeat()
  4. Pozycjonowanie (1 strona) – grid-column, grid-row, spanning
  5. Nazwane obszary (1 strona) – grid-template-areas
  6. Grid vs Flexbox (0.5 strony) – porównanie, kiedy używać
  7. Podsumowanie (0.5 strony) – dobre praktyki
  8. Bibliografia
  1. Czym różni się CSS Grid od Flexbox?
  2. Co oznacza jednostka fr i jak działa?
  3. Jak działa funkcja repeat()?
  4. Co to jest implicit grid?
  5. Jak rozciągnąć element na kilka kolumn lub wierszy?
  6. Kiedy używać grid-template-areas?
  7. Jak zrobić automatycznie responsywny grid bez media queries?
  8. Czym jest auto-fit a czym auto-fill?

To więcej niż praca zaliczeniowa

CSS Grid to najpotężniejsze narzędzie do tworzenia layoutów w CSS. Razem z Flexbox tworzy komplet, który pozwala zbudować dowolny układ strony. Opanowanie Grid to krok do profesjonalnego front-endu.

Wykorzystaj lekcje – konsultuj wątpliwości, pokazuj postępy! Pracuj iteracyjnie – outline -> draft -> kod -> redakcja