Pozycjonujemy elementy na stronie
Domyślnie elementy na stronie umieszczane są jeden za drugim (z uwzględnieniem wartości właściwości display
). Czasem jednak zdarza się, że potrzebujemy uzyskać efekt nałożenia jednego elementu na drugi bądź przesunięcia. Na szczęście język CSS jest wyposażony w narzędzia, które nam to umożliwiają. Są to właściwości związane z pozycjonowaniem.
Do pozycjonowania służy właściwość position
, która może przyjmować poniższe wartości:
static
– jest to wartość domyślna dla każdego elementu, nie trzeba deklarować jej wprost.relative
– zmienia położenie elementu względem niego samego.absolute
– wyjmuje element z jego pierwotnego położenia i umieszcza go we wskazanym miejscu względem najbliższego kontenera, który ma zdefiniowaneposition: relative
.fixed
– umieszcza element na stałej pozycji względem okna przeglądarki (viewport). Dobrym przykładem użycia jest menu na stałe "przyklejone" u góry strony.
Oprócz deklaracji position
musimy również zadeklarować wartości współrzędnych, dzięki którym możemy precyzyjnie określić położenie naszego elementu: top
, bottom
, right
oraz left
.
Na prostych przykładach zobaczymy, jak opanować pozycjonowanie w CSS.
Powyżej przykład elementu wypozycjonowamego relatywnie (czyli względem samego siebie).
Pozycjonowanie absolutne wymaga od nas nieco ostrożności, jednak jeśli wiemy, jak działa, nie wpadniemy w żadną pułapkę.
Powyższy element został wyjęty ze swojego miejsca (jak widać, nie pozostawia również po sobie wolnej przestrzeni – cóż za oszczędność!) i umieszczony zupełnie gdzie indziej, w prawym górnym rogu strony.
Jeśli używamy pozycjonowania absolutnego nieostrożnie, nasz element może wylądować w dość niespodziewanym miejscu. Musimy więc pamiętać, że każdy element z position: absolute
jest pozycjonowany względem jakiegoś innego elementu. Takim odniesieniem jest najbliższy element, któremu nadaliśmy position: relative
. Musimy też pamiętać, że element pozycjonowany absolutnie musi znajdować się wewnątrz elementu z position: relative
.
Last updated