Pozycja elementów w CSS

Mirosław Zelent

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:

Pozycja statyczna

 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!
}

Pozycja relatywna

 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.

Pozycja absolutna

 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).

Pozycja ustalona

 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.

Więcej informacji na temat różnych sposobów pozycjonowania znajdziesz także w tym odcinku kursu video.