Pozycjonowanie static i relative
Poznają Państwo domyślne pozycjonowanie static oraz sposób, w jaki relative przesuwa elementy względem ich normalnego położenia.
Pozycjonowanie static i relative 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.
Właściwość position
Właściwość position określa sposób umieszczenia elementu w przepływie dokumentu. Dostępnych jest pięć wartości: static, relative, absolute, fixed i sticky.
position: static (wartość domyślna)
Każdy element ma domyślnie ustawienie position: static. Elementy statyczne podążają za normalnym przepływem dokumentu — elementy blokowe układają się pionowo, a elementy wierszowe przepływają od lewej do prawej. Właściwości przesunięcia (top, right, bottom, left) nie mają żadnego efektu.
position: relative
position: relative pozostawia element w normalnym przepływie, ale pozwala przesunąć go względem jego własnej normalnej pozycji za pomocą top, right, bottom i left.
<div class="shifted">Shifted 10px down, 20px right — original space still reserved.</div>
Najważniejsza kwestia: miejsce zostaje zachowane
Po użyciu position: relative wraz z przesunięciami element zmienia położenie wizualnie, ale jego pierwotne miejsce w układzie nadal jest zarezerwowane. Inne elementy nie wypełniają powstałej luki.
Top, right, bottom, left
Właściwości przesunięcia przemieszczają element względem punktu odniesienia:
top: przesuwa w dół od górnej krawędzileft: przesuwa w prawo od lewej krawędzi- Wartości ujemne odwracają kierunek
<span class="badge">NEW</span>
z-index wymaga position
z-index działa tylko na elementach pozycjonowanych (nie na statycznych). Jeśli trzeba kontrolować kolejność warstw, należy ustawić co najmniej position: relative.
<div class="tooltip">Tooltip (relative + z-index)</div>
relative jako blok zawierający
Najważniejszym zastosowaniem position: relative jest uczynienie elementu blokiem zawierającym dla absolutnie pozycjonowanych elementów potomnych — nawet bez ustawiania wartości przesunięcia.
<div class="card">Card content<span class="card__badge">Badge</span></div>
Połączenie relative i transform
Połączenie position: relative z transform tworzy nowy kontekst nakładania. Element pozostaje w przepływie, ale można go przekształcać wizualnie.
<div class="hover-lift demo-hover">Hover me — I lift up</div>
Kiedy NIE używać relative
Należy unikać ustawiania position: relative na każdym elemencie. Tworzy to konteksty nakładania, które mogą komplikować zarządzanie z-index. Należy używać go tylko wtedy, gdy potrzebne są przesunięcia lub zakotwiczenie absolutnie pozycjonowanych elementów potomnych.
Łączenie z przejściami
Ponieważ pozycjonowanie względne nie wpływa na przepływ układu, można bezpiecznie animować top/left w celu uzyskania efektów wizualnych — jednak animowanie transform: translate() jest wydajniejsze.
<div class="shake demo-hover">Hover me — I shake</div>
Debugowanie problemów z pozycjonowaniem
W DevTools należy sprawdzić panel Computed, aby zobaczyć efektywną wartość position. Diagram modelu pudełkowego pokazuje dokładne zastosowane współrzędne przesunięcia.
Szybkie sprawdzenie
Co dzieje się z miejscem zajmowanym przez element w układzie po zastosowaniu position: relative; top: 20px?
Podsumowanie
position: static to wartość domyślna — bez przesunięć i bez nakładania. position: relative umożliwia przesuwanie względem własnej pozycji i zachowuje miejsce elementu w układzie. Najważniejszą rolą tej wartości jest działanie jako blok zawierający dla absolutnie pozycjonowanych elementów potomnych.
Często zadawane pytania
Czy lekcja „Pozycjonowanie static i relative” jest bezpłatna?
Tak — pełny tekst „Pozycjonowanie static i relative” 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 „Pozycjonowanie static i relative”?
Poznają Państwo domyślne pozycjonowanie static oraz sposób, w jaki relative przesuwa elementy względem ich normalnego położenia. Ć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 „Pozycjonowanie static i relative”?
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
- Pozycjonowanie static i relative
- Pozycjonowanie absolute i blok zawierający
- Pozycjonowanie fixed i sticky
- z-index i kontekst stosu