Pemosisian absolut berarti bahwa elemen tersebut benar-benar keluar dari aliran normal tata letak halaman. Sejauh menyangkut elemen lainnya pada halaman, elemen yang benar-benar diposisikan tidak ada. Elemen itu sendiri kemudian ditarik secara terpisah, semacam "di atas" dari yang lainnya, pada posisi yang Anda tentukan menggunakan left, right, top and bottom
atribut.
Menggunakan posisi yang Anda tentukan dengan atribut ini, elemen kemudian ditempatkan pada posisi itu dalam elemen leluhur terakhirnya yang memiliki atribut posisi selain static
(elemen halaman default ke statis ketika tidak ada atribut posisi yang ditentukan), atau badan dokumen (browser viewport) jika leluhur tersebut tidak ada.
Misalnya, jika saya memiliki kode ini:
<body>
<div style="position:absolute; left: 20px; top: 20px;"></div>
</body>
... <div>
itu akan diposisikan 20px dari atas viewport browser, dan 20px dari tepi kiri yang sama.
Namun, jika saya melakukan hal seperti ini:
<div id="outer" style="position:relative">
<div id="inner" style="position:absolute; left: 20px; top: 20px;"></div>
</div>
... maka inner
div akan diposisikan 20px dari atas outer
div, dan 20px dari tepi kiri yang sama, karena outer
div tidak diposisikan dengan position:static
karena kami secara eksplisit mengaturnya untuk digunakan position:relative
.
Pemosisian relatif, di sisi lain, sama seperti menyatakan tidak ada pemosisian sama sekali, tetapi left, right, top and bottom
atribut "mendorong" elemen keluar dari tata letak normalnya. Elemen lainnya di halaman masih ditata seolah-olah elemen tersebut berada di tempat normalnya.
Misalnya, jika saya memiliki kode ini:
<span>Span1</span>
<span>Span2</span>
<span>Span3</span>
... maka ketiga <span>
elemen akan duduk berdampingan tanpa tumpang tindih.
Jika saya menyetel yang kedua <span>
untuk menggunakan pemosisian relatif, seperti ini:
<span>Span1</span>
<span style="position: relative; left: -5px;">Span2</span>
<span>Span3</span>
... maka Span2 akan tumpang tindih dengan sisi kanan Span1 sebesar 5px. Span1 dan Span3 akan berada tepat di tempat yang sama seperti pada contoh pertama, meninggalkan celah 5px antara sisi kanan Span2 dan sisi kiri Span3.
Harapan itu menjelaskan sedikit.