Z pomocą CSS możemy wpływać na położenie elementów (czyli ich pozycję na ekranie względem wybranego układu odniesienia), z użyciem "ustawiających" właściwości: left
, right
, top
, bottom
- na przykład:
.jeden
{
position: absolute;
left: 5%;
top: 25px;
}
.dwa
{
position: absolute;
right: 10%;
bottom: 50px;
}
Przyjrzyjmy się jednak przede wszystkim dostępnym rodzajom pozycjonowania elementów:
position: static;
Domyślna wartość position to static
- pozycja statyczna. Przy takim ustawieniu właściwości left
, right
, top
czy bottom
są ignorowane - w ogóle nie będą działać! Dopiero jeżeli ustawimy pozycję relative
, absolute
albo fixed
to właściwości left
, right
, top
, bottom
zadziałają:
.jeden
{
position: static; // wartość domyślna, więc i tak obowiązuje
left: 5%; // nie zadziała dla pozycji statycznej!
top: 25px; // nie zadziała dla pozycji statycznej!
}
.dwa
{
position: absolute;
right: 10%; //pozycja inna niż static - zadziała!
bottom: 50px; //pozycja inna niż static - zadziała!
}
position: relative;
Stosując pozycjonowanie relatywne elementu pozostawiamy przewidziane dla niego miejsce w tzw. flow witryny (miejsce to staje się jednocześnie nowym układem odniesienia dla elementu), po czym aplikujemy nowe położenie (określone właściwościami left
, right
, top
lub bottom
). W strukturze witryny zawsze pozostaje "wyrwa" w miejscu sprzed przemieszczenia.
position: absolute;
Stosując pozycjonowanie absolutne elementu nie pozostawiamy przewidzianego dla niego miejsca we flow witryny (nowym układem odniesienia staje się lewy górny narożnik płótna przeglądarki, no chyba że element pozycjonowany absolutnie znajduje się wewnątrz pojemnika pozycjonowanego relatywnie), po czym aplikujemy nowe położenie (określone właściwościami left
, right
, top
lub bottom
). W strukturze witryny nie pozostaje żadna "wyrwa" w miejscu przewidzianym pierwotnie we flow witryny (element zostaje całkowicie z tego flow wyjęty).
position: fixed;
Podobnie jak w pozycjonowaniu absolutnym nie pozostawiamy we flow witryny miejsca przewidzianego na element, natomiast różnica polega na tym, iż pozycja określona przez współrzędne left
, right
, top
lub bottom
utrzymuje się także przy przewijaniu dokumentu (w praktyce położenie – jak to mówimy – "ustala się" permamentnie.
Podobnie jak w pozycjonowaniu absolutnym nie pozostawiamy we flow witryny miejsca przewidzianego na element, natomiast różnica polega na tym, iż pozycja określona przez współrzędne left
, right
, top
lub bottom
utrzymuje się także przy przewijaniu dokumentu (w praktyce położenie – jak to mówimy – "ustala się" permamentnie.