
Display, posicionamiento y maquetación moderna con Flexbox (navbars, grids de cards, footers).
Display y Positioning
- Display en la práctica:
blockocupa todo el ancho,inlinesolo el ancho del contenido yinline-blockcombina ambos para permitir dimensiones.flexhabilita layouts modernos ynoneoculta elementos sin reservar espacio. - Position explicado:
statices el flujo normal,relativepermite desplazar sin salir del flujo,absolutesale del flujo y se posiciona respecto al ancestro conposition,fixedse pega al viewport ystickyse fija al hacer scroll. - Casos de uso reales:
absolutepara badges sobre tarjetas,fixedpara botones flotantes,stickypara headers que permanecen visibles al desplazarse.
Fundamentos de Flexbox
css1.container { 2 display: flex; 3 flex-direction: row; /* row | column */ 4 justify-content: space-between; 5 align-items: center; 6 gap: 20px; 7 flex-wrap: wrap; 8} 9.item { 10 flex: 1 1 240px; /* grow shrink basis */ 11 align-self: center; 12}
- Ejes principal y cruzado;
flex-direction,justify-content,align-items. flex-wrap,gapy cómo crear grillas simples.- Propiedades de ítems:
flex,flex-basis,align-self.
Patrones con Flexbox
css1/* Navbar */ 2nav { display: flex; justify-content: space-between; align-items: center; } 3nav ul { display: flex; gap: 1.5rem; list-style: none; } 4 5/* Cards responsivas */ 6.cards { display: flex; flex-wrap: wrap; gap: 2rem; } 7.card { flex: 1 1 300px; padding: 1.5rem; border: 1px solid #ddd; } 8 9/* Hero centrado */ 10.hero { display: flex; justify-content: center; align-items: center; min-height: 60vh; text-align: center; }
- Navbar, grilla de tarjetas, hero centrado y footer en columnas.
- Uso de
gapvs márgenes para separación.
Ejemplos de Código
3 ejemplos
Navbar responsive básica
css
1nav {
2 display: flex;
3 justify-content: space-between;
4 align-items: center;
5 padding: 1rem 2rem;
6 background: #111;
7 color: #fff;
8}
9nav ul { display: flex; gap: 1.5rem; list-style: none; }Grilla flexible
css
1.cards {
2 display: flex;
3 flex-wrap: wrap;
4 gap: 1.5rem;
5}
6.card {
7 flex: 1 1 280px;
8 padding: 1.25rem;
9 border: 1px solid #e5e7eb;
10 border-radius: 10px;
11}Footer flexible
css
1footer {
2 display: flex;
3 justify-content: space-around;
4 gap: 2rem;
5 padding: 2.5rem 2rem;
6 background: #1f2937;
7 color: #fff;
8}
9footer .col { flex: 1; }Recursos
3 recursos disponibles
¡Hora de Practicar!
PrácticaPrincipiante15 min
Práctica guiada - Layout con Flexbox
Layout con Flexbox
Construir navbar, hero y grilla de tarjetas usando flex-direction, wrap y gap.
Desafío de Código
EjercicioPrincipiante15 min
Ejercicios - Flexbox aplicado
Flexbox aplicado
Crear (1) navbar responsive, (2) galería de imágenes con wrap, (3) card layout de productos, (4) footer de 3 columnas.
Documentación Oficial
DocumentaciónPrincipiante15 min
Referencia y juegos
Guía detallada de todas las propiedades Flexbox.