Entendiendo position en CSS

POSITION CSS

📌 Entendiendo position en CSS: El Momento en que Mis Diseños Cambiaron para Siempre

“Un día descubrí position en CSS... y mi vida como desarrolladora no volvió a ser la misma.”

Cuando empecé en desarrollo web, uno de los conceptos que más me costó entender fue position en CSS. Me rompía la cabeza intentando mover elementos, centrar cajas o colocar botones flotantes sin que todo se desarmara. Pero una vez que lo entendí, ¡boom! Mis diseños pasaron de ser caóticos a tener estructura, intención y control total.

En este artículo quiero contarte qué es position, cómo funciona cada tipo, y por qué puede ser ese “game changer” que estás buscando.

🧠 ¿Qué es position en CSS?

Es una propiedad que nos permite controlar cómo se colocan los elementos en la página.
Dependiendo del valor que uses, podrás mover el elemento con top, right, bottom y left.

Es como decirle al navegador:
👉 “Ey, este elemento quiero que se comporte de esta forma… no como los demás.”

🏷️ Los 5 valores de position (con ejemplos que sí entiendes)

1. static — El modo default (y aburrido)

Es el valor por defecto. No puedes mover el elemento con top, left, etc. Sigue el flujo normal del documento.

css

.elemento {

  position: static;

}

🧱 Imagina: cajas apiladas una encima de otra. Ninguna se sale de la fila.
🔒 No se puede mover.

2. relative — Se mueve, pero deja su espacio

El elemento se posiciona relativo a sí mismo. Es decir, puedes moverlo con top, left, etc., pero su espacio original sigue estando allí.

css

.elemento {

  position: relative;

  top: 20px;

  left: 10px;

}

📍 Útil para:

  • Ajustes finos de posición. 
  • Ser el “referente” de elementos con absolute. 

🧠 Tip: Aunque lo muevas, los demás elementos lo ven como si siguiera en su lugar original.

3. absolute — El ninja del layout

El elemento sale del flujo del documento. Se posiciona respecto a su contenedor posicionado (el más cercano que tenga relative, absolute, fixed o sticky).

css

.padre {

  position: relative;

}

.hijo {

  position: absolute;

  top: 0;

  right: 0;

}

🦹 Imagina: flota libremente y se pone donde tú le digas.
📦 Ya no ocupa espacio en el flujo del HTML.

🔍 Cuidado: si no tiene un contenedor posicionado, se ubica respecto al <body>.

4. fixed — El que siempre está ahí para ti

Este se posiciona respecto a la ventana del navegador. Siempre se mantiene visible, aunque hagas scroll.

css

.fijo {

  position: fixed;

  bottom: 20px;

  right: 20px;

}

📌 Ideal para:

  • Botones flotantes 
  • Menús o barras de navegación 
  • Notificaciones 

🧠 No cambia con el scroll.

5. sticky — El híbrido mágico

Este combina lo mejor de relative y fixed. Se comporta como relative hasta que llegas a cierto punto al hacer scroll, y se pega como fixed.

css

.encabezado {

  position: sticky;

  top: 0;

}

🧲 Perfecto para:

  • Encabezados de tabla 
  • Navegaciones que se quedan arriba al hacer scroll 

🧠 Nota: El contenedor debe tener espacio suficiente para que el sticky funcione.

🔍 Comparación rápida

TipoSale del flujoSe puede moverSe pega al scroll
static
relative
absolute
fixed✅ (a la ventana)
sticky✅ (hasta un punto)

🛠️ Mini demo

💬 Reflexión final

Entender position me dio el control que necesitaba para dejar de pelear con los elementos. Dejé de preguntarme “¿por qué este div no se mueve?” y empecé a decir “a este lo dejo relativo, y al hijo lo coloco absolute arriba a la derecha”.

No es magia. Es CSS. Y tú también puedes dominarlo.

🎁 Recurso adicional

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top