Diseño Masonry Nativo en CSS: Implementación y Ejemplos

Clase 26 de 28Curso de Diseño Web con CSS Grid y Flexbox

Resumen

¿Qué es el soporte nativo de Masonry en CSS?

El término "Masonry" hace referencia a un tipo de diseño visual en el que los elementos de contenido se organizan en columnas de ancho específico, pero con alturas variables. Este diseño es popular en plataformas como Pinterest. Aunque no existe de forma nativa en CSS actualmente, los desarrolladores han utilizado combinaciones de CSS y JavaScript para recrearlo. La comunidad ha estado solicitando su inclusión nativa en CSS debido a la versatilidad y atractivo visual que ofrece.

En un enfoque emergente, la propuesta del layout Masonry, que puedes encontrar en el repositorio de W3C, señala la idea de tener Masonry como un valor dentro de CSS Grid. Aunque todavía en desarrollo, este enfoque promete simplificar el proceso de creación de layouts Masonry sin recurrir a trucos adicionales.

¿Cómo se implementa Masonry como propuesta en CSS?

Actualmente, lograr un diseño Masonry requiere algo de creatividad con CSS y JavaScript. La propuesta es incorporar este diseño dentro de la especificación de CSS Grid con un valor específico para grid-template-rows.

Ejemplo de implementación en CSS Grid:

Un diseño básico empleando la propuesta de Masonry podría verse así, usando grid-template-rows con el nuevo valor:

.grid-contenedor {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  grid-template-rows: masonry;
}

Este código establece un contenedor de rejilla que ajusta automáticamente el número de columnas en función del espacio disponible, aplicando el concepto de Masonry para las filas.

Documentación y recursos adicionales

El tema de Masonry no solo es fascinante por su aplicación práctica, sino también por ser un ámbito en evolución dentro de CSS. Para aquellos interesados en explorar más y mantenerse actualizados sobre las perspectivas y avances del Masonry Layout, se recomienda consultar los recursos y documentos oficiales que se encuentran en el repositorio de la W3C.

Además, estar familiarizado con CSS Grid y sus potenciales expansiones puede abrir muchas puertas para experimentar con diseños personalizados y crear interfaces visualmente atractivas. Empoderarte con el conocimiento de estas herramientas te permitirá innovar y llevar el diseño web al siguiente nivel.