CSS Flex Container

CSS Flex Container

Contenido original de W3Schools


Elemento padre (contenedor)

Como se mencionó en el capítulo anterior, este es un contenedor flexible (el área azul) con tres elementos flexibles:

El contenedor flexible se vuelve flexible al establecer la propiedad display: flex;.

Ejemplo:

.flex-container {
  display: flex;
}

Ver ejemplo


Las propiedades del contenedor flexible son:

  • flex-direction

  • flex-wrap

  • flex-flow

  • justify-content

  • align-items

  • align-content


La propiedad flex-direction

La propiedad flex-direction define en qué dirección el contenedor quiere apilar los elementos flexibles.

Ejemplo:

El valor column apila los elementos flexibles verticalmente (de arriba a abajo):

.flex-container {
  display: flex;
  flex-direction: column;
}

Ver ejemplo


Ejemplo:

El valor colum-reverse apila los elementos flexibles verticalmente (de abajo hacia arriba):

.flex-container {
  display: flex;
  flex-direction: column-reverse;
}

Ver ejemplo


Ejemplo:

El valor row apila los elementos flexibles horizontalmente (de izquierda a derecha):

.flex-container {
  display: flex;
  flex-direction: row;
}

Ver ejemplo


Ejemplo:

El valor row-reverse apila los elementos flexibles horizontalmente (derecha a izquierda):

.flex-container {
  display: flex;
  flex-direction: row-reverse;
}

Ver ejemplo


La propiedad flex-wrap

La propiedad flex-wrap especifica si los elementos flexibles deben ajustarse o no.

Los siguientes ejemplos tienen 12 elementos flexibles para demostrar mejor la propiedad flex-wrap.

Ejemplo:

El valor wrap especifica que los elementos flexibles se ajustarán si es necesario:

.flex-container {
  display: flex;
  flex-wrap: wrap;
}

Ver ejemplo


Ejemplo:

El valor nowrap especifica que los elementos flexibles no se ajustarán (este es el valor predeterminado):

.flex-container {
  display: flex;
  flex-wrap: nowrap;
}

Ver ejemplo


Ejemplo:

El valor wrap-reverse especifica que los elementos flexibles se ajustarán si es necesario, en orden inverso:

.flex-container {
  display: flex;
  flex-wrap: wrap-reverse;
}

Ver ejemplo


La propiedad flex-flow

La propiedad flex-flow es una propiedad abreviada para configurar las propiedades flex-direction y flex-wrap.

Ejemplo:

.flex-container {
  display: flex;
  flex-flow: row wrap;
}

Ver ejemplo


La propiedad justify-content

La propiedad justify-content se utiliza para alinear los elementos flexibles:

Ejemplo:

El valor center alinea los elementos flexibles en el centro del contenedor:

.flex-container {
  display: flex;
  justify-content: center;
}

Ver ejemplo


Ejemplo:

El valor flex-start alinea los elementos flexibles al inicio del contenedor (este valor es predeterminado):

.flex-container {
  display: flex;
  justify-content: flex-start;
}

Ver ejemplo


Ejemplo:

El valor flex-end alinea los elementos flexibles al final del contenedor:

.flex-container {
  display: flex;
  justify-content: flex-end;
}

Ver ejemplo


Ejemplo:

El valor space-around muestra los elementos flexibles con espacio antes, entre y después de las líneas:

.flex-container {
  display: flex;
  justify-content: space-around;
}

Ver ejemplo


Ejemplo:

El valor space-between muestra los elementos flexibles con espacio entre líneas:

.flex-container {
  display: flex;
  justify-content: space-between;
}

Ver ejemplo


La propiedad align-items

La propiedad align-items se utiliza para alinear los elementos flexibles.

En estos ejemplos utilizamos un contenedor de 200 píxeles de alto para demostrar mejor la propiedad align-items.

Ejemplo:

El valor center alinea los elementos flexibles en el medio del contenedor:

.flex-container {
  display: flex;
  height: 200px;
  align-items: center;
}

Ver ejemplo


Ejemplo:

El valor flex-start alinea los elementos flexibles en la parte superior del contenedor:

.flex-container {
  display: flex;
  height: 200px;
  align-items: flex-start;
}

Ver ejemplo


Ejemplo:

El valor flex-end alinea los elementos flexibles en el fondo del contenedor:

.flex-container {
  display: flex;
  height: 200px;
  align-items: flex-end;
}

Ver ejemplo


Ejemplo:

El valor stretch estira los elementos flexibles para llenar el contenedor (este valor es predeterminado):

.flex-container {
  display: flex;
  height: 200px;
  align-items: stretch;
}

Ver ejemplo


Ejemplo:

El valor baseline alinea los elementos flexibles, como se alinean sus líneas base:

.flex-container {
  display: flex;
  height: 200px;
  align-items: baseline;
}

Nota: El ejemplo utiliza diferentes tamaños de fuente para demostrar que los elementos se alinean según la línea base del texto:

Ver ejemplo


La propiedad align-content

La propiedad align-content se utiliza para alinear las líneas flexibles.

En estos ejemplos, utilizamos un contenedor de 600 píxeles de alto, con la propiedad flex-wrap configurada para ajustar, para demostrar mejor la propiedad align-content.

Ejemplo:

El valor space-between muestra las líneas flexibles con el mismo espacio entre ellas:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: space-between;
}

Ver ejemplo


Ejemplo:

El valor space-around muestra las líneas flexibles con espacio antes, entre y después de ellas:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: space-around;
}

Ver ejemplo


Ejemplo:

El valor stretch estira las líneas flexibles para ocupar el espacio restante (este valor es predeterminado):

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: stretch;
}

Ver ejemplo


Ejemplo:

El valor center muestra las líneas flexibles en el medio del contenedor:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: center;
}

Ver ejemplo


Ejemplo:

El valor flex-start muestra las líneas flexibles al inicio del contenedor:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: flex-start;
}

Ver ejemplo


Ejemplo:

El valor flex-end muestra las líneas flexibles al final del contenedor:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: flex-end;
}

Ver ejemplo


Centrado perfecto

En el siguiente ejemplo resolveremos un problema de estilo muy común: el centrado perfecto.

Solución: Establezca las propiedades justify-content y align-items con el valor center y el elemento flexible quedará perfectamente centrado:

Ejemplo:

.flex-container {
  display: flex;
  height: 300px;
  justify-content: center;
  align-items: center;
}

Ver ejemplo


Las propiedades del contenedor CSS Flexbox

La siguiente tabla enumera todas las propiedades del contenedor CSS Flexbox:

PropiedadDescripción
align-contentModifica el comportamiento de la propiedad flex-wrap. Es similar a la propiedad align-items, pero en lugar de alinear elementos flexibles, alinea líneas flexibles.
align-itemsAlinea verticalmente los elementos flexibles cuando los elementos no utilizan todo el espacio disponible en el eje transversal.
displayEspecifica el tipo de cuadro utilizado para un elemento HTML.
flex-directionEspecifica la dirección de los elementos flexibles dentro de un contenedor flexible.
flex-flowUna propiedad abreviada para flex-direction y flex-wrap.
flex-wrapEspecifica si los elementos flexibles deben ajustarse o no, si no hay suficiente espacio para ellos en una línea flexible.
justify-contentAlinea horizontalmente los elementos flexibles cuando los elementos no utilizan todo el espacio disponible en el eje principal.

Traducido con 💚 desde W3Schools.com

Did you find this article valuable?

Support Santos Romero by becoming a sponsor. Any amount is appreciated!