FlexBox css

La propiedad Flexible Box, o flexbox, de CSS3 es un modo de diseño que permite colocar los elementos de una página para que se comporten de forma predecible cuando el diseño de la página debe acomodarse a diferentes tamaños de pantalla y diferentes dispositivos. 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.

Lo que caracteriza un diseño flexible es su habilidad para alterar el ancho y alto de sus elementos para ajustarse lo mejor posible al espacio disponible en cualquier dispositivo. Un contenedor flexible expande sus elementos para rellenar el espacio libre, o los comprime para evitar que rebasen el área prevista.

Cuando trabajamos con flexbox necesitamos pensar en términos de dos ejes — eje principal y el eje cruzado. El eje principal está definido por la propiedad flex-direction, y el eje cruzado es perpendicular a este. Todo lo que hacemos con flexbox está referido a estos dos ejes, por lo que vale la pena entender cómo trabajan desde el principio

flex-direction

Esta directiva nos indica como deseamos poner nuestro contenido.
row --> modo fila(es la de por defecto)
row-reverse--> modo fila pero al revés
column ---> modo columna
row column-reverse--> modo columna pero al revé

El contenedor flex

El área del documento que contiene un flexbox es llamada contendedor flex. Para crear un contenedor flex, establecemos la propiedad del área del contenedor display como flex o inline-flex.
Tan pronto como hacemos esto, los hijos directos de este contenedor se vuelven ítemes flex. Como con todas las propiedades de CSS, se definen algunos valores iniciales, así que cuando creemos un contenedor flex todos los ítemes flex contenidos se comportarán de la siguiente manera.
Los ítemes se despliegan sobre una fila (la propiedad flex-direction por defecto es row).
Los ítemes empiezan desde el margen inicial sobre el eje principal.
Los ítemes no se ajustan en la dimensión principal, pero se pueden contraer.
Los ítemes se ajustarán para llenar el tamaño del eje cruzado.
La propiedad flex-basis es definida como auto.
La propiedad flex-wrap es definida como nowrap.

Ejemplo
código ejemplo
#efecto2{
width: 230px;
height: 24px;
display: flex;
margin: auto;
flex-direction: row-reverse;
}
.e2{
text-align: center;
width: 120px;
height: 24px;
border: 2px solid rgb(226, 43, 43);
background-color:rgb(0, 119, 255);
}
1
2
3
4
5
Vídeo explicación