Datos clave
- Categoría
- Desarrollo y Web
- Tipos de entrada
- number, text, select, textarea
- Tipo de salida
- text
- Cobertura de muestras
- 4
- API disponible
- Yes
Resumen
El Generador de layout masonry CSS es una herramienta diseñada para crear estructuras de estilo cascada (waterfall) utilizando únicamente CSS puro. Permite configurar el número de columnas, el ancho del contenedor, los espacios entre elementos y los puntos de interrupción (breakpoints) responsivos. Al elegir entre motores de diseño como CSS Columns o Flexbox, los desarrolladores pueden obtener código HTML y CSS limpio, comentado y listo para copiar, ideal para galerías de imágenes, portafolios o blogs sin depender de pesadas librerías de JavaScript.
Cuándo usarlo
- •Cuando necesitas implementar una galería de imágenes estilo Pinterest sin cargar librerías de JavaScript adicionales.
- •Al diseñar un portafolio o blog responsivo que requiere reorganizar el número de columnas según el tamaño de la pantalla.
- •Cuando buscas integrar tarjetas de contenido de diferentes alturas manteniendo un flujo visual continuo y ordenado.
Cómo funciona
- •Define la estructura básica indicando el número máximo de columnas, el ancho del contenedor y el espaciado (gap) entre los elementos.
- •Selecciona el motor de layout preferido: CSS Columns para un efecto de cascada clásico o Flexbox para un control de filas más predecible.
- •Configura los breakpoints responsivos (ej. 640:2, 960:3) y añade selectores de elementos que deban omitir el flujo estándar (como tarjetas destacadas a ancho completo).
- •Copia el código HTML y CSS generado, el cual incluye comentarios y media queries listos para integrar en tu proyecto.
Casos de uso
Ejemplos
1. Galería de imágenes responsiva
Desarrollador Frontend- Contexto
- Un desarrollador está creando un portafolio de fotografía y necesita mostrar imágenes de diferentes alturas en una cuadrícula.
- Problema
- Implementar un diseño tipo Pinterest que pase de 1 a 4 columnas según el dispositivo, sin usar JavaScript.
- Cómo usarlo
- Configura 4 columnas, un gap de 16px, elige 'CSS Columns' y añade breakpoints como '640:2' y '1024:3'.
- Configuración de ejemplo
-
{ "columns": 4, "gap": "16px", "layoutEngine": "grid", "responsiveBreakpoints": "640:2\n1024:3" } - Resultado
- Obtiene un código HTML/CSS que muestra una columna en móviles, dos en tablets y cuatro en pantallas grandes, con un flujo de cascada perfecto.
2. Blog con tarjeta destacada a ancho completo
Diseñador Web- Contexto
- El diseño de un blog requiere que el último artículo publicado destaque ocupando todo el ancho superior, seguido de los demás artículos en 3 columnas.
- Problema
- Lograr que un elemento específico rompa el diseño de columnas masonry para ocupar el 100% del ancho.
- Cómo usarlo
- Selecciona 3 columnas, establece el ancho del contenedor en '100%', y en 'Elementos omitidos' ingresa la clase '.articulo-destacado'.
- Configuración de ejemplo
-
{ "columns": 3, "containerWidth": "100%", "skipElements": ".articulo-destacado" } - Resultado
- El CSS generado incluye reglas específicas para que '.articulo-destacado' abarque todo el contenedor, mientras el resto de las tarjetas fluyen en 3 columnas.
Probar con muestras
developmentHubs relacionados
Preguntas frecuentes
¿Necesito usar JavaScript para que el layout masonry funcione?
No, esta herramienta genera código basado exclusivamente en CSS puro (CSS Columns o Flexbox), eliminando la necesidad de scripts externos.
¿Cómo configuro los breakpoints responsivos?
Debes ingresar una regla por línea con el formato 'ancho:columnas', por ejemplo '768:2' para mostrar dos columnas en pantallas de 768px o superiores.
¿Qué significa la opción de elementos omitidos (skip elements)?
Permite definir clases CSS, como '.destacado', que romperán el flujo normal de las columnas para ocupar el ancho completo del contenedor.
¿Cuál es la diferencia entre CSS Columns y Flexbox en esta herramienta?
CSS Columns distribuye el contenido de arriba a abajo en columnas, ideal para el efecto cascada. Flexbox organiza los elementos en filas que envuelven, ofreciendo un orden de lectura de izquierda a derecha.
¿Puedo usar unidades relativas para el ancho y el espaciado?
Sí, puedes usar cualquier unidad válida de CSS, como porcentajes (100%), rems (1.5rem) o funciones como min(1200px, 100%).