Pozycjonowanie sticky
w CSS3 jest hybrydą pomiędzy relative
a fixed
pozycjonowaniem. Element z pozycją sticky
zachowuje się jak element relative
w normalnym strumieniu dokumentu, dopóki nie osiągnie określonego punktu podczas przewijania, w którym to staje się fixed
i “przykleja” się do określonego miejsca na ekranie.
Kluczowe cechy pozycji sticky
:
- Element zaczyna się “przyklejać” tylko wtedy, gdy osiągnie określony punkt przy przewijaniu – na przykład przykleja się do górnej części viewportu.
- Wymaga zdefiniowania
top
,right
,bottom
lubleft
, aby wskazać, kiedy element ma stać się “sticky”. - Pozostaje częścią normalnego flow dokumentu do momentu “przyklejenia”.
Przykład użycia pozycji sticky
:
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<title>Pozycjonowanie Sticky w CSS3</title>
<style>
body {
font-family: Arial, sans-serif;
}
.sticky-header {
position: -webkit-sticky; /* Dla Safari */
position: sticky;
top: 0;
background-color: lightblue;
padding: 10px 0;
margin: 0;
border-bottom: 2px solid darkblue;
z-index: 1000; /* Upewnij się, że nagłówek
jest na wierzchu */
}
.content {
padding: 15px;
height: 2000px; /* Długa zawartość, aby
umożliwić przewijanie */
}
</style>
</head>
<body>
<header class="sticky-header">Jestem Sticky Header</header>
<div class="content">
Przewiń, aby zobaczyć działanie sticky header.
</div>
</body>
</html>
W tym przykładzie, .sticky-header
zachowuje się jak normalny element, aż do momentu przewinięcia strony do góry. W tym momencie “przykleja” się do górnej części viewportu i pozostaje widoczny na ekranie podczas dalszego przewijania treści.
Kiedy używać pozycji sticky
:
- Dla elementów nawigacyjnych lub kontrolek, które powinny być łatwo dostępne przez użytkownika, ale bez konieczności stałego zajmowania miejsca na ekranie (np. menu nawigacyjne, filtry).
- W tabelach danych, aby nagłówki kolumn pozostały widoczne podczas przewijania treści.
Podsumowanie:
Pozycjonowanie sticky
oferuje unikalną możliwość tworzenia interfejsów użytkownika, które są zarówno dynamiczne, jak i funkcjonalne. Pozwala na “przyklejanie” elementów do określonych miejsc na ekranie w zależności od przewijania, co zwiększa użyteczność i dostępność ważnych elementów interfejsu. Warto jednak pamiętać o odpowiednim stosowaniu tej techniki, aby nie zakłócać doświadczeń użytkowników podczas interakcji ze stroną.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video WebDevelopera w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.