CSS: La Propiedad Position

Controla cómo se colocan los elementos en el documento.

Introducción

La propiedad position especifica el tipo de método de posicionamiento utilizado para un elemento. Hay cinco valores principales:

1. Position: Static (Por defecto)

Es el comportamiento predeterminado. Los elementos se posicionan según el flujo normal de la página. Las propiedades top, bottom, left, y right no les afectan.

Static

Este elemento sigue el flujo normal.

.elemento {

    position: static;

}

2. Position: Relative

El elemento se posiciona relativo a su posición normal. Ajustar top, right, bottom, o left moverá el elemento lejos de donde estaría normalmente, pero no afecta al espacio que ocupa (el hueco original se mantiene).

Normal
Relative

El cuadrado rojo se ha movido 50px a la derecha y 10px abajo desde su posición original.

.elemento {

    position: relative;

    left: 50px;

    top: 10px;

}

3. Position: Absolute

El elemento se posiciona relativo a su ancestro posicionado más cercano (que no sea static). Si no hay ninguno, se posiciona relativo al documento (body). Se elimina del flujo normal y no ocupa espacio.

El contenedor tiene position: relative.

Absolute

El cuadrado verde está posicionado absolutamente arriba a la derecha de este contenedor.

.contenedor {

    position: relative;

}

.hijo {

    position: absolute;

    top: 20px;

    right: 20px;

}

4. Position: Fixed

El elemento se posiciona relativo a la ventana del navegador (viewport). Se queda fijo en el mismo lugar incluso si haces scroll. Se elimina del flujo normal.

Fixed Real

Mira la esquina inferior derecha de tu pantalla. Ahí verás el cuadro "Fixed Real". Aunque hagas scroll en la página, ese cuadro no se moverá de su sitio.

.elemento {

    position: fixed;

    bottom: 20px;

    right: 20px;

    z-index: 1000; /* Para asegurar que se vea encima de todo */

}

5. Position: Sticky

Es un híbrido entre relative y fixed. El elemento se comporta como relative hasta que cruza un umbral de desplazamiento (scroll), momento en el cual se comporta como fixed.

Haz scroll aquí dentro ↓

Sticky

Contenido de relleno...

Más contenido...

Más contenido...

Más contenido...

Más contenido...

.elemento {

    position: sticky;

    top: 0;

}
Volver a CSS