Diseño Fluido
Clase 25 de 32 • Curso de CSS
Resumen
El diseño fluido en CSS potencia el responsive design al hacer que el layout se adapte entre breakpoints. Con unidades relativas y funciones como porcentajes, vw, vh, rem y clamp, tu interfaz se mantiene flexible sin depender solo de media queries. Aquí verás cómo aplicar contenedores fluidos, grid adaptable, imágenes flexibles y tipografía responsiva.
¿Qué es diseño fluido y cómo complementa responsive design?
El enfoque fluido asegura que el layout se ajuste continuamente mientras se acerca a un breakpoint. No todas las pantallas se resuelven con media queries. Por eso, se usan medidas relativas para que el contenido se adapte al ancho y alto disponibles.
- Porcentajes: ajustan tamaños según el contenedor padre.
- Unidades de viewport: vw para ancho, vh para alto. Ocupan un porcentaje de la pantalla.
- rem: escala con el tamaño de fuente base del documento.
- Breakpoints: cambian estilos en puntos clave, pero el fluido suaviza la transición.
La combinación de estas unidades con flex y grid permite que el contenido fluya y mantenga legibilidad en móviles, tablets y desktop.
¿Cómo crear un contenedor fluido con width, max-width y min-width?
Un contenedor fluido usa porcentajes, límites mínimo y máximo, y centrado automático. Así controlas el crecimiento sin perder flexibilidad.
- width: 90%: ocupa el 90% del padre.
- max-width: 1000px: no crece más de 1000 px.
- min-width: 320px: no se hace menor que 320 px (ancho móvil pequeño).
- margin: 0 auto: centra el bloque cuando hay espacio sobrante.
- padding y color de fondo: mejoran la lectura.
.fluid-container {
width: 90%;
max-width: 1000px;
min-width: 320px;
margin: 0 auto;
padding: 20px;
background: blue;
color: white;
}
Claves prácticas: - Si el viewport baja de 320 px, aparece scroll horizontal. - Al superar 1000 px, el contenido queda centrado gracias a margin: 0 auto. - Entre 320 y 1000 px, el bloque usa siempre el 90% del contenedor padre.
¿Cómo aplicar grid, imágenes y texto fluido con clamp?
Para un layout flexible sin media queries, grid ofrece patrones adaptables y las imágenes y fuentes requieren reglas específicas para mantener foco y legibilidad.
¿Qué patrón de grid usar con repeat, auto-fit y minmax?
Con grid-template-columns y repeat(auto-fit, minmax()) logras columnas que se reacomodan según el espacio. El mínimo asegura legibilidad; el máximo reparte el espacio disponible con 1fr.
.fluids-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-bottom: 20px;
}
- auto-fit: ajusta el número de columnas según el ancho disponible.
- minmax(250px, 1fr): cada tarjeta mide mínimo 250 px y crece equitativamente.
- gap: separa elementos y mejora el ritmo visual.
¿Cómo hacer una imagen flexible dentro de su contenedor?
Primero, limita el contenedor con max-width y céntralo. Luego, haz que la caja de imagen ocupe el 100% del ancho y define una altura para que sea visible.
.image-contained {
width: 100%;
max-width: 800px;
margin: 0 auto;
}
.image-box {
width: 100%;
height: 200px;
background: red;
color: white;
display: flex;
align-items: center;
justify-content: center;
}
Buenas prácticas: - Define altura para evitar colapsos visuales. - Considera el encuadre: en headers, prioriza la zona visible relevante. - Si luego usas imágenes reales, combina con object-fit y object-position según el caso.
¿Cómo escalar tipografía con la función clamp?
La función clamp() define un mínimo, un valor ideal relativo y un máximo. Así el texto crece suave con el viewport y se detiene donde conviene.
.fluid-title {
font-size: clamp(1.5rem, 4vw, 3rem);
margin-bottom: 10px;
}
- Mínimo: 1.5rem para móviles.
- Ideal relativo: 4vw para crecer con el ancho.
- Máximo: 3rem para desktop grandes.
Ventajas clave: - Legibilidad constante sin saltos bruscos. - Una sola regla cubre móviles, tablets y desktop.
¿Te gustaría ver más patrones fluidos con flex o combinaciones de grid y clamp para componentes específicos? Comparte tu caso en comentarios y afinamos el CSS juntos.