Układ przyklejonej stopki i panelu bocznego
Buduj układy z przyklejonymi stopkami i panelami bocznymi rozciągającymi się na pełną wysokość za pomocą Grid lub Flexbox.
Układ przyklejonej stopki i panelu bocznego to bezpłatna lekcja CSS Academy na CoddyKit. To lekcja 1 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.
Problem przyklejonej stopki
Przyklejona stopka pozostaje na dole obszaru roboczego, gdy treść jest krótka, ale przesuwa się w dół wraz z treścią, gdy jest ona długa. Historyczne wyzwanie polegało na przyklejeniu stopki bez znajomości wysokości treści i bez użycia JavaScriptu.
Przyklejona stopka z Flexboxem
Najprostsze nowoczesne rozwiązanie to body { display: flex; flex-direction: column; min-height: 100vh; } oraz main { flex: 1; }. Główna treść rozciąga się, aby wypełnić dostępną przestrzeń, przesuwając stopkę na dół niezależnie od długości treści.
Przyklejona stopka z Gridem
Alternatywą opartą na CSS Grid jest body { display: grid; grid-template-rows: auto 1fr auto; min-height: 100vh; }. Nagłówek otrzymuje wysokość auto, główna treść — 1fr (wypełnia pozostałą przestrzeń), a stopka — auto. To czyste i jednoznaczne rozwiązanie — definicja wierszy wyraźnie pokazuje zamierzony układ.
Stopka z position: sticky
position: sticky; bottom: 0 na stopce przykleja ją do dołu obszaru roboczego podczas przewijania, ale tylko wtedy, gdy pozwala na to jej kontekst przewijania. Rozwiązanie działa w przypadku stopek wewnątrz przewijanego kontenera, ale jest mniej odpowiednie dla przyklejonych stopek na poziomie strony, gdzie Flexbox lub Grid zapewniają prostszy układ.
Układ z paskiem bocznym i Flexboksem
Układ z paskiem bocznym i główną treścią można zdefiniować za pomocą wrapper { display: flex; }, sidebar { width: 280px; flex-shrink: 0; } oraz main { flex: 1; min-width: 0; }. Wartość min-width: 0 na elemencie main zapobiega przepełnianiu kontenera przez elementy flex zawierające szeroką treść.
Układ z paskiem bocznym i Gridem
Układ paska bocznego z Gridem: wrapper { display: grid; grid-template-columns: 280px 1fr; gap: var(--spacing-4); }. Kolumna paska bocznego ma stałą szerokość, a kolumna treści wypełnia pozostałą przestrzeń. Aby dodać wiersz nagłówka, użyj grid-template-rows: auto 1fr i rozciągnij pasek boczny na oba wiersze.
Responsywny pasek boczny
Na urządzeniach mobilnych należy zwinąć pasek boczny i umieścić go nad główną treścią albo pod nią: za pomocą media query przełącz układ z kolumnami siatki na stos jednokolumnowy. Można też użyć grid-template-columns: min(280px, 30%) 1fr, aby pasek boczny miał płynną szerokość i zmniejszał się w mniejszych obszarach roboczych.
Przyklejony pasek boczny
Aby pasek boczny przewijał się niezależnie, użyj sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; }. Pasek boczny pozostaje widoczny podczas przewijania głównej treści, co sprawdza się w przypadku nawigacji lub pasków bocznych ze spisem treści na stronach z długą treścią.
Zwijany pasek boczny
Zwijany pasek boczny przełącza się między stanem pełnej szerokości a stanem zawierającym tylko ikony. Użyj niestandardowej właściwości CSS do określenia szerokości paska bocznego: --sidebar-width: 280px na wrapperze, a następnie przełącz ją na 64px za pomocą klasy. Przejścia płynnie animują zmianę szerokości.
Przepełnienie w stałych paskach bocznych
Stały pasek boczny (position: fixed; left: 0; top: 0; height: 100vh) wymaga odsunięcia głównej treści o szerokość paska bocznego: main { margin-left: 280px }. Na urządzeniach mobilnych pasek boczny wysuwa się nad treść i jest wyposażony w przycisk zamknięcia oraz przyciemnioną warstwę tła.
Dostępność pasków bocznych
Paski boczne nawigacji należy oznaczać za pomocą <nav> i aria-label="Sidebar navigation". Zwijane paski boczne wymagają dostępnego przycisku przełączającego z atrybutami aria-expanded i aria-controls. Odnośniki pomijające pomagają użytkownikom klawiatury ominąć paski boczne i przejść do głównej treści.
Sprawdzenie wiedzy
Dlaczego elementowi flex zawierającemu główną treść w układzie z paskiem bocznym należy ustawić min-width: 0?
Podsumowanie
Flexbox z flex: 1 na elemencie main lub trzywierszowy Grid pozwalają utworzyć przejrzyste przyklejone stopki przy użyciu minimalnej ilości CSS. Układy z paskiem bocznym korzystają ze stałych albo płynnych definicji kolumn oraz responsywnych punktów przełamania, aby zwijać się na urządzeniach mobilnych. Przyklejane paski boczne, zwijane szerokości i dostępne atrybuty ARIA dopełniają gotowe do użycia produkcyjne wzorce pasków bocznych i stopek.
Ucz się CSS dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 40
- Lekcje
- 159
Często zadawane pytania
Czy lekcja „Układ przyklejonej stopki i panelu bocznego” jest bezpłatna?
Tak — pełny tekst „Układ przyklejonej stopki i panelu bocznego” 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 przyklejonej stopki i panelu bocznego”?
Buduj układy z przyklejonymi stopkami i panelami bocznymi rozciągającymi się na pełną wysokość za pomocą Grid lub Flexbox. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Układ przyklejonej stopki i panelu bocznego”?
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
- Układ przyklejonej stopki i panelu bocznego
- Układ Świętego Graala z Grid
- Układ masonry: podejścia CSS i JavaScript
- Projektowanie intrynsyczne: rozmiar zależny od treści