CSS moderno ha agregado funciones y propiedades que reemplazan categorías completas de media-query y trucos de JavaScript. Los aspectos más destacados:
clamp() — valores fluidos y acotados
h1 { font-size: (, , ); }
CSS moderno ha agregado funciones y propiedades que reemplazan categorías completas de media-query y trucos de JavaScript. Los aspectos más destacados:
h1 { font-size: (, , ); }
clamp(min, preferred, max) proporciona tipografía/espaciado fluido que se escala suavemente con la viewport pero se mantiene dentro de los límites — reemplaza varios puntos de quiebre de consultas font-size media con una línea.
.video { aspect-ratio: 16 / 9; width: 100%; } /* height auto-computed to keep 16:9 */
.avatar { aspect-ratio: 1; } /* perfect square at any width */
Antes de esto, mantener una caja responsive 16:9 requería el infame truco padding-bottom: 56.25%. Ahora es una declaración — y reserva espacio (bueno para CLS) antes de cargar las imágenes.
.container { width: min(90%, 1200px); } /* whichever is SMALLER → fluid but capped */
.box { padding: max(1rem, 3vw); } /* whichever is LARGER → a minimum floor */
min()/max() eligen el menor/mayor de los valores, permitiendo que una propiedad sea responsiva sin una media query (por ejemplo, "90% de ancho, pero nunca más de 1200px").
.card { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
subgrid permite que una grilla anidada herede las líneas de pista de su padre, para que los elementos en diferentes tarjetas (títulos, cuerpos, botones) se alineen perfectamente en filas compartidas — anteriormente imposible sin alturas fijas.
.flex { display: flex; gap: 1rem; } /* gap now works in flexbox, not just grid */
Estas características eliminan trucos de larga data: clamp()/min()/max() reemplazan pilas de media queries para cambio de tamaño fluido, aspect-ratio reemplaza el truco de padding y protege contra cambios de diseño, y subgrid resuelve la alineación entre componentes.
Hacen que los diseños responsive y proporcionales sean dramáticamente más simples y robustos — CSS moderno hace declarativamente lo que antes requería JS o trucos frágiles.