Pozycjonowanie bezwzględne oznacza, że element jest całkowicie wyjęty z normalnego przepływu układu strony. Jeśli chodzi o pozostałe elementy strony, element pozycjonowany absolutnie po prostu nie istnieje. Sam element jest następnie rysowany oddzielnie, jakby „na wierzchu” wszystkiego innego, w pozycji określonej za pomocą left, right, top and bottom
atrybutów.
Korzystając z pozycji określonej za pomocą tych atrybutów, element jest następnie umieszczany na tej pozycji w swoim ostatnim elemencie nadrzędnym, który ma atrybut pozycji o wartości innej niż static
(elementy strony domyślnie są statyczne, gdy nie określono atrybutu pozycji) lub treść dokumentu (przeglądarka widok), jeśli nie ma takiego przodka.
Na przykład, gdybym miał ten kod:
<body>
<div style="position:absolute; left: 20px; top: 20px;"></div>
</body>
... <div>
byłby umieszczony 20 pikseli od góry widoku przeglądarki i 20 pikseli od lewej krawędzi tego samego.
Gdybym jednak zrobił coś takiego:
<div id="outer" style="position:relative">
<div id="inner" style="position:absolute; left: 20px; top: 20px;"></div>
</div>
... wtedy element inner
div byłby umieszczony 20 pikseli od góry elementu outer
div i 20 pikseli od lewej krawędzi tego samego elementu, ponieważ element outer
div nie jest umieszczony z, position:static
ponieważ wyraźnie ustawiliśmy go na użycie position:relative
.
Z drugiej strony pozycjonowanie względne jest podobne do stwierdzenia braku pozycjonowania, ale left, right, top and bottom
atrybuty „wypychają” element z normalnego układu. Reszta elementów na stronie nadal jest rozmieszczona tak, jakby element znajdował się na swoim normalnym miejscu.
Na przykład, gdybym miał ten kod:
<span>Span1</span>
<span>Span2</span>
<span>Span3</span>
... wtedy wszystkie trzy <span>
elementy siedziałyby obok siebie bez nakładania się.
Jeśli ustawię jako drugą <span>
opcję pozycjonowania względnego, na przykład:
<span>Span1</span>
<span style="position: relative; left: -5px;">Span2</span>
<span>Span3</span>
... wtedy Span2 zachodziłby na prawą stronę Span1 o 5 pikseli. Span1 i Span3 znajdowałyby się dokładnie w tym samym miejscu, co w pierwszym przykładzie, pozostawiając 5-pikselową przerwę między prawą stroną Span2 a lewą stroną Span3.
Mam nadzieję, że to trochę wyjaśnia.