Laboratorio de Flexbox y Grid CSS
Crea CSS Flexbox o Grid de forma visual con controles de contenedor y por elemento, tamaño de pistas personalizado y editor de grid-template-areas, y copia el CSS.
Laboratorio de Flexbox y Grid CSS — Cambia entre Flexbox y Grid, define las propiedades del contenedor y ajusta cada hijo con controles por elemento: order, flex-grow/shrink/basis, align-self y el span de columna/fila en Grid. En Grid puedes introducir tamaños de pista personalizados (px, fr, minmax(), auto-fit/auto-fill), dibujar una maquetación con grid-template-areas y elegir exportar solo el CSS del contenedor o junto con las reglas por elemento. Todo se ejecuta en tu navegador, así que nada de lo que configures se sube nunca, y copias el CSS generado directamente en tu hoja de estilos.
¿Qué es Laboratorio de Flexbox y Grid CSS?
El laboratorio de Flexbox y Grid CSS es un entorno visual gratuito para aprender y prototipar los dos principales modelos de maquetación de CSS, pensado para desarrolladores front-end, estudiantes y diseñadores. Elige Flex o Grid, define las propiedades del contenedor y abre Ajustes para dar estilo a cada hijo: order, flex-grow, flex-shrink, flex-basis y align-self en modo Flex, o span de columna/fila y align-self en modo Grid. El modo Grid ofrece además tamaños de pista personalizados —escribe cualquier valor de grid-template-columns/rows como 200px 1fr o repeat(auto-fit, minmax(120px, 1fr))— y un editor visual de grid-template-areas donde nombras cada celda, lo que también crea líneas de cuadrícula con nombre. Una vista previa en vivo de mosaicos numerados refleja cada cambio, y puedes exportar solo la regla .container o el contenedor junto con el CSS por elemento.
Cómo usar Laboratorio de Flexbox y Grid CSS
- Elige Flex o Grid con el conmutador de modo para decidir qué modelo de maquetación construir.
- Define las propiedades del contenedor: flex-direction/wrap y justify/align, o el número de columnas y filas con justify-items/align-items.
- Abre Ajustes para cambiar el espaciado y el número de elementos, y para dar estilo a cada hijo (order, flex-grow/shrink/basis, align-self o span de columna/fila).
- En Grid, cambia el tamaño de pistas a Personalizado para escribir tus propios grid-template-columns/rows: px, fr, minmax() o repeat(auto-fit/auto-fill, …).
- Activa el editor de grid-template-areas y nombra cada celda para colocar los elementos por área.
- Elige si exportar solo el CSS del contenedor o el contenedor más el CSS por elemento, y copia el resultado.
Ejemplos
Fila flex centrada
Entrada
Flex · direction row · justify-content center · align-items center · gap 12
Salida
.container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 12px;
}Cuadrícula responsiva auto-fit
Entrada
Grid · custom columns: repeat(auto-fit, minmax(120px, 1fr)) · gap 16
Salida
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
grid-template-rows: repeat(2, 1fr);
justify-items: start;
align-items: stretch;
gap: 16px;
}Áreas de plantilla (holy grail)
Entrada
Grid · areas: header row, sidebar + main, footer row
Salida
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 1fr);
grid-template-areas:
"header header header"
"sidebar main main"
"footer footer footer";
justify-items: start;
align-items: stretch;
gap: 16px;
}Elemento flex que crece
Entrada
Flex · export container + items · item 2 flex-grow 1
Salida
.container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-items: stretch;
gap: 12px;
}
.container > :nth-child(2) {
flex-grow: 1;
}Preguntas frecuentes
- ¿Cuál es la diferencia entre Flexbox y Grid aquí?
- El modo Flex distribuye los elementos en un solo eje y expone flex-direction, flex-wrap, justify-content y align-items. El modo Grid los organiza en dos dimensiones con grid-template-columns y grid-template-rows más justify-items y align-items. Cambia de modo con el conmutador para comparar cómo gestiona cada uno la misma alineación.
- ¿Cómo doy estilo a elementos individuales?
- Abre Ajustes y usa los controles por elemento para fijar order, flex-grow, flex-shrink, flex-basis y align-self (Flex) o span de columna/fila y align-self (Grid) en cada hijo. Pon Exportar en 'Contenedor + elementos' y la herramienta añade una regla .container > :nth-child(n) por cada elemento que personalices.
- ¿Puedo usar tamaños de pista personalizados como auto-fit o minmax()?
- Sí. En modo Grid cambia el tamaño de pistas a Personalizado y escribe cualquier valor válido de grid-template-columns/rows: píxeles, unidades fr, minmax() o repeat(auto-fit/auto-fill, minmax(120px, 1fr)) para columnas responsivas. La vista previa y el CSS se actualizan mientras escribes.
- ¿Qué hace el editor de grid-template-areas?
- Actívalo en modo Grid y nombra cada celda de la cuadrícula; la herramienta arma una declaración grid-template-areas y las celdas vacías se convierten en un punto. Nombrar áreas también crea líneas de cuadrícula con nombre, y puedes colocar un hijo en un área escribiendo su nombre en el campo grid-area de ese elemento.
- ¿Se suben mis datos a algún sitio?
- No. El laboratorio se ejecuta por completo en tu navegador con JavaScript, así que tus ajustes y el CSS generado nunca se envían a un servidor. Funciona de forma privada e incluso sin conexión una vez cargada la página.
Herramientas relacionadas
Código a imagen
Convierte un fragmento de código en una imagen con resaltado de sintaxis en tu navegador, con más de 20 lenguajes, temas y fondos personalizados, números de línea y exportación a PNG o SVG.
Verificador de contraste de color
Comprueba el contraste WCAG 2.1 y la puntuación APCA Lc entre texto y fondo, revisa las insignias AA, AAA y 3:1 y aplica el color válido más cercano.
Mezclador de colores
Mezcla dos colores HEX en la proporción que elijas, en espacio RGB o Lab, y obtén el color intermedio como muestra y valor HEX copiable.
Generador de tonos de color
Convierte un color HEX base en una escala OKLCH, HSL o RGB con pasos ajustables, avisos de contraste WCAG por paso y exportación a CSS, Tailwind y JSON.