0Pricing
CSS Academy · Lekcja

Układ Świętego Graala z Grid

Zaimplementuj klasyczny układ Świętego Graala z nagłówkiem, stopką, treścią główną i dwoma panelami bocznymi za pomocą CSS Grid.

Układ Świętego Graala z Grid to bezpłatna lekcja CSS Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CSS Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CSS Academy zawiera 4 lekcji w sumie.

Czym jest układ Holy Grail

Układ Holy Grail to klasyczny wzorzec projektowania stron internetowych: strona o pełnej wysokości z nagłówkiem, stopką i środkową sekcją z trzema kolumnami (lewy pasek boczny, główna treść, prawy pasek boczny). Jego implementacja za pomocą floatów była niesławnie trudna, natomiast CSS Grid znacznie ją upraszcza.

Definiowanie szablonu siatki

Układ należy zdefiniować za pomocą nazwanych obszarów szablonu i wierszy: grid-template-areas odwzorowuje strukturę wizualną. Trzy kolumny i trzy wiersze (nagłówek rozciągnięty na wszystkie kolumny, stopka rozciągnięta na wszystkie kolumny oraz środkowy wiersz z trzema kolumnami) opisują cały układ w czytelnym diagramie ASCII.

  <header>Header</header>
  <div class="sidebar">Sidebar</div>
  <main>Main</main>
  <aside>Aside</aside>
  <footer>Footer</footer>

Przypisywanie elementów do obszarów

Każdy element potomny odwołuje się do swojego obszaru za pomocą nazwy: header { grid-area: header }, main { grid-area: main }, nav { grid-area: sidebar }, aside { grid-area: aside }, footer { grid-area: footer }. Grid umieszcza je automatycznie.

Rozciąganie środkowego wiersza

Środkowy wiersz używa 1fr, które wypełnia całą pozostałą wysokość obszaru roboczego po uwzględnieniu nagłówka i stopki o stałej wysokości. Dzięki temu paski boczne i główna treść zawsze rozciągają się, aby wypełnić obszar roboczy — nie trzeba jawnie obliczać wysokości.

Responsywne zwijanie

Na urządzeniach mobilnych należy użyć media query i ponownie zdefiniować grid-template-areas jako jednokolumnowy stos: nagłówek, pasek boczny, główna treść, aside i stopka są ułożone pionowo. Kolejność w DOM pozostaje bez zmian; zmienia się tylko wizualny szablon siatki. Obszary Grid ułatwiają czytelne przebudowywanie układu responsywnego.

  <header>Header</header>
  <div class="sidebar">Sidebar</div>
  <main>Main</main>
  <aside>Aside</aside>
  <footer>Footer</footer>

Responsywne ukrywanie pasków bocznych

Na tabletach usuń prawy aside i rozszerz główną treść: zdefiniuj ponownie układ jako "header header" "sidebar main" "footer footer" z grid-template-columns: 240px 1fr. Ustaw aside { display: none } albo przenieś go pod główną treść w definicji obszarów.

Odstępy i wewnętrzne marginesy

Dodaj odstęp między ścieżkami siatki za pomocą gap: var(--spacing-4). Padding stosuj wewnątrz poszczególnych obszarów, a nie na kontenerze siatki, aby zachować spójne odstępy. Nagłówek i stopka zazwyczaj otrzymują własny poziomy padding dopasowany do wyrównania maksymalnej szerokości siatki.

Zagnieżdżone siatki

Obszar głównej treści może sam być siatką — na przykład dwukolumnowym układem artykułu i paska bocznego wewnątrz głównego obszaru. Zagnieżdżone siatki tworzą układ treści wewnątrz układu powłoki strony bez złożonych hierarchii klas ani głęboko zagnieżdżonego pozycjonowania.

Przyklejony nagłówek

Przyklej nagłówek za pomocą header { position: sticky; top: 0; z-index: 10; }. W układzie opartym na Gridzie pozycjonowanie sticky elementu potomnego siatki działa zgodnie z oczekiwaniami — nagłówek pozostaje przyklejony, gdy główna treść, pasek boczny i aside przewijają się pod nim.

Przyklejane paski boczne w układzie Holy Grail

Oba paski boczne mogą być przyklejone: nav, aside { position: sticky; top: 0; height: 100vh; overflow-y: auto; }. Pozostają widoczne podczas przewijania głównej treści, tworząc układ z trzema panelami, w którym przewija się tylko środkowy.

Grid czy Flexbox do układu strony

Grid należy stosować do dwuwymiarowych układów powłoki strony, takich jak Holy Grail — Grid doskonale umieszcza elementy jednocześnie w nazwanych wierszach i kolumnach. Flexbox należy stosować do jednowymiarowych układów komponentów (elementy nawigacji w wierszu, zawartość karty w kolumnie) wewnątrz obszarów siatki.

Sprawdzenie wiedzy

Co sprawia, że grid-template-areas jest szczególnie przydatne w responsywnych układach Holy Grail?

Podsumowanie

CSS Grid upraszcza historycznie trudny układ Holy Grail: grid-template-areas nadaje nazwy regionom, 1fr w środkowym wierszu wypełnia wysokość obszaru roboczego, a media queries ponownie definiują mapę obszarów na potrzeby responsywnego zwijania. Przyklejane nagłówki i paski boczne można dodać bez dodatkowej złożoności.

Często zadawane pytania

Czy lekcja „Układ Świętego Graala z Grid” jest bezpłatna?

Tak — pełny tekst „Układ Świętego Graala z Grid” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CSS Academy, przejdź na CoddyKit PRO. Kurs CSS Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Układ Świętego Graala z Grid”?

Zaimplementuj klasyczny układ Świętego Graala z nagłówkiem, stopką, treścią główną i dwoma panelami bocznymi za pomocą CSS Grid. Ćwiczysz CSS Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć CSS Academy?

Nie wymagamy żadnego doświadczenia. CSS Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Układ Świętego Graala z Grid”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji CSS Academy?

Tak. Każda lekcja CSS Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Układ przyklejonej stopki i panelu bocznego
  2. Układ Świętego Graala z Grid
  3. Układ masonry: podejścia CSS i JavaScript
  4. Projektowanie intrynsyczne: rozmiar zależny od treści
← Powrót do CSS Academy