Posicionamiento, Display y Z-Index
Controla el flujo de diseño, apilamiento y posición de elementos
Tipos de Display
La propiedad display controla cómo los elementos participan en el diseño. Entender block, inline e inline-block es esencial.
/* Block: ocupa todo el ancho, inicia en nueva línea */
div { display: block; }
/* Inline: se ajusta al contenido, no rompe la línea */
span { display: inline; }
/* Inline-block: flujo inline + ancho/alto */
.badge { display: inline-block; padding: 4px 10px; }
/* Ocultar elemento */
.hidden { display: none; }
Fundamentos de Posicionamiento
Relative
Mueve el elemento desde su posición normal, pero sigue ocupando espacio.
.box {
position: relative;
top: 10px;
left: 20px;
}
Absolute
Se elimina del flujo; se posiciona relativo al ancestro posicionado más cercano.
.parent { position: relative; }
.child {
position: absolute;
top: 0;
right: 0;
}
Fixed
Se mantiene en su lugar relativo al viewport.
.floating {
position: fixed;
bottom: 16px;
right: 16px;
}
Sticky
Se desplaza hasta que alcanza un umbral, luego se fija.
header {
position: sticky;
top: 0;
}
Z-Index y Contexto de Apilamiento
z-index controla el orden de apilamiento, pero solo funciona en elementos posicionados.
.card { position: relative; z-index: 2; }
.overlay { position: absolute; z-index: 10; }
/* Crea contexto de apilamiento */
.modal {
position: relative;
z-index: 100;
transform: translateZ(0);
}
- ✓ Solo los elementos posicionados responden a
z-index. - ✓ Propiedades como
transform,opacityyfiltercrean nuevos contextos de apilamiento.
⚠️ Errores de Posicionamiento
- ❌ Los elementos absolutamente posicionados ignoran el flujo normal
- ❌ Falta
top/right/bottom/leftsignifica que no hay cambio visible - ❌ Apilamiento inesperado debido a nuevos contextos de apilamiento