Flexbox y Layouts con CSS
Volver a clases
UI/UX DesignPrincipiante

Flexbox y Layouts con CSS

120 min
3 vistas

Display, posicionamiento y maquetación moderna con Flexbox (navbars, grids de cards, footers).

Display y Positioning

  • Display en la práctica: block ocupa todo el ancho, inline solo el ancho del contenido y inline-block combina ambos para permitir dimensiones. flex habilita layouts modernos y none oculta elementos sin reservar espacio.
  • Position explicado: static es el flujo normal, relative permite desplazar sin salir del flujo, absolute sale del flujo y se posiciona respecto al ancestro con position, fixed se pega al viewport y sticky se fija al hacer scroll.
  • Casos de uso reales: absolute para badges sobre tarjetas, fixed para botones flotantes, sticky para headers que permanecen visibles al desplazarse.

Fundamentos de Flexbox

css
1.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, gap y cómo crear grillas simples.
  • Propiedades de ítems: flex, flex-basis, align-self.

Patrones con Flexbox

css
1/* 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 gap vs 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.

ALVESC ACADEMY - Plataforma Educativa