Angel Rosso ANGEL ROSSO

Guía Básica de Flexbox CSS3 para principiantes

Guía Básica de Flexbox CSS3 para principiantes

- hace 8 años

Muy buenas, soy Angel Rosso y hoy voy a explicar que es flexbox y os paso una "chuleta" para tenerla en cuenta a la hora de usarlo.

Flexbox (cajas flexibles) es una propiedad de CSS3 que se sirve para diseñar sitios responsive, y que los elementos que están dentro se comporten de manera predecible. Para muchas aplicaciones, el modelo "caja flexible" produce una mejora sobre el modelo "bloque" porque no utiliza la propiedad float, ni hace que los márgenes del contenedor flexible interfieran con los márgenes de sus contenidos. 

Como podrás ver a continuación, usar contenedores flexbox y sus elementos flexibles, es muy sencillo y cómodo. Además, podrás posicionar el elemento hijo en el orden que desees dentro del elemento padre, sin importar el orden en el que aparezca en el HTML.

Antes de entrar en mas detalle, para que te vayas haciendo una idea de lo que es flexbox, te muestro una ilustración seguida de una explicación.

Image title

Contenedor flexible (Flex container)
El elemento "padre" que contiene los elementos flexibles. Un contenedor flexible se define usando los valores flex o inline-flex en la propiedad display.
Elemento flexible (Flex item)

Cada hijo de un contenedor flex se convierte en un elemento flexible. Si hay texto directamente incluido en el contenedor flexible, se envuelve automáticamente en un elemento flexible anónimo.

Ejes

Cada diseño de "caja flexible" sigue dos ejes. El eje principal es el eje a lo largo del cual los elementos flexibles se suceden unos a otros. El eje secundario es el eje perpendicular al eje principal.

  • La propiedad flex-direction establece el eje principal.
  • La propiedad justify-content define cómo los elementos flexibles se disponen a lo largo del eje principal en la línea en curso.
  • La propiedad align-items define cómo los elementos flexibles se disponen a lo largo del eje secundario de la línea en curso.
  • La propiedad align-self define cómo cada elemento flexible se alinéa respecto al eje secundario, y sustituye al valor por defecto establecido por align-items.
Direcciones

Los lados inicio principal/fin principal (main start/main end) inicio secundario/fin secundario (cross start/cross end) del contenedor flexible describen el origen y final del flujo de los elementos flexibles. Estos siguen los eje principal y secundario según el vector establecido por writing-mode(izquierda-a-derecha, derecha-a-izquierda, etc.).

  • La propiedad order asigna elementos a grupos ordinales y determina qué elementos aparecen primero.
  • La propiedad flex-flow property combina las propiedades flex-direction y flex-wrap para colocar los elementos flexibles.
Líneas

Los elementos flexibles pueden disponerse en una sola o varias líneas de acuerdo con la propiedad flex-wrap, que controla la dirección del eje secundario y la dirección en la que las nuevas líneas se apilan.

Dimensiones

Los términos equivalentes a "altura" y "anchura" usados en los elementos flexibles son tamaño principal (main size) and tamaño secundario (cross size), que respectivamente siguen al eje principal y al eje secundario del contenedor flexible.

  • La propiedades min-height y min-width tienen un nuevo valor, auto que establece el tamaño mínimo de un elemento felxible.
  • La propiedad flex combina las propiedades flex-basisflex-grow, y flex-shrink para establecer el grado de flexibilidad de los elementos flexibles.

Yo siempre recurro a ésta página para recordar lo que hace cada propiedad, porque aún no he logrado memorizarlo todo. Lo comparto así tambien os sirva.

http://apps.workflower.fi/css-cheats/?name=flexbox

flex-box


Espero que les haya servido. Hasta la próxima!

La nota habla de:

Este sitio, como la mayoría, usa cookies. Si sigues navegando entiendo que aceptas la política de cookies. | Más información