¿Qué hace realmente la posición relativa que hace el DIV?

position: relative le dice al navegador que coloque el objeto en el lugar donde aparecería naturalmente en el flujo de documentos.

Por ejemplo, imagina que este es tu html:

Este es tu css:
.container {position: relative;}
.normal {posición: relativa;}
.top {position: relative;}

En el navegador verías:
1. Algunos contenidos.
2. Un poco más de contenido.
3. Aún más contenido.

Estos están en el mismo orden en que los colocó en el documento.
Ahora, si cambiaste el CSS de arriba a esto:
.top {posición: absoluta; arriba: 0px;}

verías algo como
3. Aún más contenido.
1. Algunos contenidos.
2. Un poco más de contenido.

Esto cambiaría el orden al forzar .top a la parte superior del contenedor. También es probable que se superponga con los otros objetos, por lo que tendría que hacer ajustes adicionales.

https://developer.mozilla.org/en… da algunos buenos ejemplos.

position: posiciones relativas un elemento RELATIVO A SU posición “natural” en el documento (que en CSS está representado por position: static).

Si especifica la posición de un elemento como relativo, crea un nuevo contexto para él, eso tiene 3 consecuencias muy importantes:

1. el contexto mantiene el espacio originalmente reservado para el elemento. Por lo tanto, todos los conjuntos off (arriba, derecha, abajo, izquierda) moverán el elemento relativamente a ese espacio, mientras que el espacio aún está reservado.

2. el contexto es la nueva referencia para todos los elementos secundarios posicionados absolutamente

3. si se define un índice z, el contexto encapsula definiciones de índice z en elementos secundarios. Eso significa que si el elemento padre tiene índice z: 1 y el siguiente elemento hermano tiene índice z: 2, un elemento hijo con índice z: 3 estará cubierto por el siguiente elemento hermano

Aquí hay un video bastante bueno que vi recientemente sobre posicionamiento CSS. El canal de YouTube DevTips tiene excelentes videos instructivos para el diseño.