Generador de Flexbox CSS

Configura un contenedor flex y sus elementos con controles visuales, mira cómo reacciona el diseño al instante y copia el CSS con un clic.

Ajustes rápidos
Contenedor
Dirección
Ajuste de línea
Justificar contenido
Alinear elementos
Elementos
Elemento 1
Alineación propia
CSS
Ajusta el contenedor y los elementos para dar forma a tu diseño.

Tu diseño se construye en tu navegador. Nada de lo que ajustes aquí se sube a BroBroGo.

Preguntas frecuentes

¿Cuál es la diferencia entre justify-content y align-items?

justify-content reparte los elementos a lo largo del eje principal —la dirección en la que fluye la fila o la columna—, mientras que align-items los coloca en el otro eje. Al cambiar la dirección de fila a columna los dos ejes se intercambian, así que justify-content pasa a actuar de arriba abajo y align-items de izquierda a derecha.

¿Cómo funcionan los controles de cada elemento?

Elige un elemento por su número y decide cuánto crece para ocupar el espacio libre, cuánto se encoge cuando falta sitio, su tamaño inicial (basis) y su propia alineación en el eje cruzado. El orden adelanta o retrasa un elemento en pantalla sin tocar el HTML. Solo los elementos que cambias reciben su propia regla en el CSS.

¿Cuándo importan el ajuste de línea y align-content?

Sin ajuste de línea, todos los elementos se quedan en una sola fila y pueden comprimirse. Al activarlo, los que ya no caben pasan a la línea siguiente: ahí entra align-content, que reparte el espacio entre las líneas como conjunto. El gap fija la separación entre elementos, y entre líneas, sin usar márgenes.

Estructura y funcionamiento del diseño con Flexbox

El diseño de caja flexible, conocido como Flexbox, es un modelo de diseño unidimensional de CSS que distribuye el espacio entre los elementos de una interfaz y facilita su alineación. Este modelo organiza los elementos dentro de un contenedor a lo largo de un eje principal y un eje cruzado.

El Generador de Flexbox CSS permite configurar visualmente estas relaciones de espacio. Al manipular los controles del contenedor y de los elementos individuales, se observa una vista previa en tiempo real que muestra cómo reacciona el diseño al instante. Una vez obtenido el resultado deseado, se puede copiar el código CSS generado para trasladarlo directamente a la hoja de estilos del proyecto.

Configuración del contenedor y comportamiento de los ejes

El comportamiento de un contenedor flexible se define mediante propiedades que determinan la dirección del flujo, el comportamiento ante el desbordamiento y la distribución del espacio disponible. En el Generador de Flexbox CSS, estas propiedades se controlan a través de los siguientes parámetros:

  • Dirección: Define el eje principal del contenedor. Las opciones disponibles son Fila, Fila inversa, Columna y Columna inversa. Al cambiar la dirección de fila a columna, el eje principal y el eje cruzado se intercambian, lo que modifica la función de las propiedades de alineación.
  • Ajuste de línea: Determina si los elementos se fuerzan a mantenerse en una sola línea o si pueden distribuirse en varias. Se puede configurar como Sin ajuste, Ajustar o Ajuste inverso. Con la opción Sin ajuste, todos los elementos se comprimen en una única línea. Al activar Ajustar, los elementos que no caben en el ancho o alto del contenedor pasan a la línea siguiente.
  • Justificar contenido: Distribuye el espacio sobrante a lo largo del eje principal. Permite elegir entre Inicio, Final, Centro, Espacio entre, Espacio alrededor y Espacio uniforme.
  • Alinear elementos: Controla la alineación de los elementos en el eje cruzado dentro de su línea actual. Las opciones son Inicio, Final, Centro, Estirar y Línea base.
  • Alinear líneas: Define la distribución del espacio entre las distintas líneas de elementos cuando el ajuste de línea está activo y existe espacio libre en el eje cruzado. Dispone de las opciones Inicio, Final, Centro, Estirar, Espacio entre, Espacio alrededor y Espacio uniforme.
  • Espaciado: Establece una separación numérica fija entre los elementos y entre las líneas generadas, actuando de forma uniforme sin necesidad de añadir márgenes manuales.

Propiedades individuales de los elementos flexibles

Cada elemento dentro de un contenedor flexible puede comportarse de manera independiente para adaptarse a las restricciones de espacio. El generador permite añadir nuevos elementos mediante el botón Añadir elemento, lo que genera de forma consecutiva elementos identificados visualmente, como por ejemplo Elemento 5.

Para cada elemento individual, se pueden ajustar los siguientes parámetros numéricos y de alineación:

  • Orden: Altera la secuencia de renderizado del elemento en la pantalla sin modificar el orden de los nodos en el documento HTML.
  • Crecer: Define el factor de crecimiento del elemento para ocupar el espacio libre disponible en el contenedor en relación con los demás elementos.
  • Encoger: Determina la capacidad del elemento para reducir su tamaño por debajo de su base cuando el espacio del contenedor es insuficiente.
  • Base: Establece el tamaño inicial del elemento antes de que se distribuyan los espacios de crecimiento o encogimiento. Puede definirse con un valor numérico o establecerse como Base automática.
  • Alineación propia: Permite sobrescribir la alineación general definida en el contenedor para ese elemento específico en el eje cruzado. Sus opciones son Auto, Inicio, Final, Centro, Estirar y Línea base.

El generador optimiza el código de salida: solo los elementos que sufren modificaciones en sus propiedades individuales recibirán una regla CSS específica en el resultado final.

Generación de código y privacidad en el procesamiento

La herramienta ofrece una sección dedicada a la salida del código bajo el encabezado CSS. Al pulsar el botón Copiar CSS, este cambia su estado a Copiado para confirmar que las reglas de estilo se han guardado en el portapapeles.

El procesamiento de los datos y la renderización visual se realizan bajo estrictas condiciones de privacidad local:

  • Tu diseño se construye en tu navegador.
  • Nada de lo que ajustes aquí se sube a BroBroGo.
  • La generación de las reglas CSS y la actualización de la vista previa ocurren de manera local en el cliente, sin transferir información a servidores externos.

Patrones de diseño comunes con Flexbox

El uso de Flexbox facilita la resolución de estructuras de diseño recurrentes en el desarrollo web. A través de los controles del generador, se pueden estructurar de forma directa los siguientes patrones:

  • Centrar un elemento: Al alinear tanto el contenido como los elementos al centro en ambos ejes, se logra una posición perfectamente concéntrica dentro del contenedor.
  • Navbar (Barra de navegación): Distribuye los enlaces de navegación de forma horizontal utilizando la alineación en fila y repartiendo el espacio de manera uniforme o con separación intermedia.
  • Pila: Organiza los elementos en una estructura vertical uniforme mediante la dirección de columna, ideal para formularios o listas de control.
  • Tarjetas: Distribuye bloques de contenido que se ajustan automáticamente en varias filas al reducirse el ancho de la pantalla, manteniendo proporciones coherentes mediante el uso de bases y crecimiento flexible.
  • Barra lateral: Organiza un área de contenido principal junto a un bloque lateral fijo o de menor proporción, controlando el comportamiento de encogimiento y crecimiento de cada sección.

Preguntas frecuentes sobre Flexbox

¿Cuál es la diferencia entre justify-content y align-items? justify-content reparte los elementos a lo largo del eje principal —la dirección en la que fluye la fila o la columna—, mientras que align-items los coloca en el otro eje. Al cambiar la dirección de fila a columna los dos ejes se intercambian, así que justify-content pasa a actuar de arriba abajo y align-items de izquierda a derecha.

¿Cómo funcionan los controles de cada elemento? Elige un elemento por su número y decide cuánto crece para ocupar el espacio libre, cuánto se encoge cuando falta sitio, su tamaño inicial (basis) y su propia alineación en el eje cruzado. El orden adelanta o retrasa un elemento en pantalla sin tocar el HTML. Solo los elementos que cambias reciben su propia regla en el CSS.

¿Cuándo importan el ajuste de línea y align-content? Sin ajuste de línea, todos los elementos se quedan en una sola fila y pueden comprimirse. Al activarlo, los que ya no caben pasan a la línea siguiente: ahí entra align-content, que reparte el espacio entre las líneas como conjunto. El gap fija la separación entre elementos, y entre líneas, sin usar márgenes.