CodeForge

Maquetación Web Dinámica / Posicionamiento y capas

fixed y sticky: headers que persiguen, secciones que se pegan

Teoría18 min20 XP

Los otros dos valores de position trabajan contra el VIEWPORT: fixed se clava en la pantalla ignorando el scroll, y sticky — el favorito del CSS moderno — fluye normal hasta tocar un borde y ahí se pega. Headers flotantes, sidebars que acompañan, encabezados de tabla que no se van: todo sale de aquí.

fixed: clavado en la pantalla

fixed.css

fixed es un absolute cuyo marco de referencia es la VENTANA: scrollees lo que scrollees, ahí sigue. Sus usos legítimos: headers de navegación, botones flotantes (el chat de soporte), banners de cookies. Su impuesto: el hueco fantasma que hay que compensar a mano.

sticky: el híbrido inteligente

sticky.css

sticky fluye con la página como cualquier elemento (SÍ reserva su espacio — adiós compensación) hasta que el scroll lo lleva a top: 0; ahí se pega... mientras su PADRE siga visible. Cuando el padre sale de pantalla, el sticky se va con él.

Ese efecto "relevo" de los encabezados (el de contactos de tu teléfono: la letra A pegada arriba hasta que llega la B y la releva) es la firma de sticky — imposible de lograr con fixed sin JavaScript.

¿La ventaja clave de sticky sobre fixed para un header?

Mini-reto

Vuelve sticky el header de tu periódico (position: sticky; top: 0 — y un fondo sólido, o el contenido se verá a través). Luego haz sticky el h2 de "Lo más leído" dentro de su aside y observa el relevo al scrollear.

Qué sigue

Ya flotas, anclas y pegas elementos. Pero cuando varios se superponen, ¿quién queda encima? La próxima lección resuelve el misterio del z-index 9999 que no funciona: los stacking contexts.