Flex
Administre rápidamente el diseño, la alineación y el tamaño de las columnas de la cuadrícula, la navegación, los componentes y más con un conjunto completo de utilidades receptivas de Flexbox. Para implementaciones más complejas, puede ser necesario CSS personalizado.
Habilitar comportamientos flexibles
Aplique
display
utilidades para crear un contenedor flexbox y transforme
los elementos
secundarios
directos
en
elementos
flexibles.
Los contenedores y artículos flexibles se pueden modificar aún más con
propiedades flexibles adicionales.
También existen variaciones sensibles para
.d-flex
y
.d-inline-flex
.
.d-flex
.d-inline-flex
.d-sm-flex
.d-sm-inline-flex
.d-md-flex
.d-md-inline-flex
.d-lg-flex
.d-lg-inline-flex
.d-xl-flex
.d-xl-inline-flex
Dirección
Establezca la dirección de los elementos flexibles en un contenedor
flexible con utilidades de dirección.
En la mayoría de los casos, puede omitir la clase horizontal aquí como es
el navegador predeterminado
row
.
Sin embargo, puede encontrar situaciones en las que necesite establecer
explícitamente este valor (como diseños receptivos).
Úselo
.flex-row
para establecer una dirección horizontal (el navegador predeterminado), o
.flex-row-reverse
para iniciar la dirección horizontal desde el lado opuesto.
Úselo
.flex-column
para establecer una dirección vertical o
.flex-column-reverse
para iniciar la dirección vertical desde el lado opuesto.
También existen variaciones de respuesta para
flex-direction
.
.flex-row
.flex-row-reverse
.flex-column
.flex-column-reverse
.flex-sm-row
.flex-sm-row-reverse
.flex-sm-column
.flex-sm-column-reverse
.flex-md-row
.flex-md-row-reverse
.flex-md-column
.flex-md-column-reverse
.flex-lg-row
.flex-lg-row-reverse
.flex-lg-column
.flex-lg-column-reverse
.flex-xl-row
.flex-xl-row-reverse
.flex-xl-column
.flex-xl-column-reverse
Justificar el contenido
Utilice las
justify-content
utilidades en los contenedores de flexbox para cambiar la alineación de los
elementos flexibles en el eje principal (el eje x para comenzar, el eje y si
flex-direction: column
).
Elegir
start
(por defecto del navegador),
end
,
center
,
between
, o
around
.
También existen variaciones de respuesta para
justify-content
.
.justify-content-start
.justify-content-end
.justify-content-center
.justify-content-between
.justify-content-around
.justify-content-sm-start
.justify-content-sm-end
.justify-content-sm-center
.justify-content-sm-between
.justify-content-sm-around
.justify-content-md-start
.justify-content-md-end
.justify-content-md-center
.justify-content-md-between
.justify-content-md-around
.justify-content-lg-start
.justify-content-lg-end
.justify-content-lg-center
.justify-content-lg-between
.justify-content-lg-around
.justify-content-xl-start
.justify-content-xl-end
.justify-content-xl-center
.justify-content-xl-between
.justify-content-xl-around
Alinear elementos
Use las
align-items
utilidades en los contenedores de flexbox para cambiar la alineación de los
elementos flexibles en el eje transversal (el eje y para comenzar, el eje x si
flex-direction: column
).
Elegir
start
,
end
,
center
,
baseline
, o
stretch
(por defecto del navegador).
También existen variaciones de respuesta para
align-items
.
.align-items-start
.align-items-end
.align-items-center
.align-items-baseline
.align-items-stretch
.align-items-sm-start
.align-items-sm-end
.align-items-sm-center
.align-items-sm-baseline
.align-items-sm-stretch
.align-items-md-start
.align-items-md-end
.align-items-md-center
.align-items-md-baseline
.align-items-md-stretch
.align-items-lg-start
.align-items-lg-end
.align-items-lg-center
.align-items-lg-baseline
.align-items-lg-stretch
.align-items-xl-start
.align-items-xl-end
.align-items-xl-center
.align-items-xl-baseline
.align-items-xl-stretch
Alinearse
Utilice las
align-self
utilidades en los elementos de flexbox para cambiar individualmente su
alineación en el eje transversal (el eje y para comenzar, el eje x si
flex-direction: column
).
Elija entre las mismas opciones que
align-items
:
start
,
end
,
center
,
baseline
, o
stretch
(por defecto del navegador).
También existen variaciones de respuesta para
align-self
.
.align-self-start
.align-self-end
.align-self-center
.align-self-baseline
.align-self-stretch
.align-self-sm-start
.align-self-sm-end
.align-self-sm-center
.align-self-sm-baseline
.align-self-sm-stretch
.align-self-md-start
.align-self-md-end
.align-self-md-center
.align-self-md-baseline
.align-self-md-stretch
.align-self-lg-start
.align-self-lg-end
.align-self-lg-center
.align-self-lg-baseline
.align-self-lg-stretch
.align-self-xl-start
.align-self-xl-end
.align-self-xl-center
.align-self-xl-baseline
.align-self-xl-stretch
Llenar
Utilice la
.flex-fill
clase en una serie de elementos hermanos para forzarlos a anchos iguales a su contenido (o anchos iguales si su
contenido no supera sus cuadros de borde) mientras ocupa todo el espacio horizontal disponible.
También existen variaciones de respuesta para
flex-fill
.
.flex-fill
.flex-sm-fill
.flex-md-fill
.flex-lg-fill
.flex-xl-fill
Crecer y encogerse
Utilice las
.flex-grow-*
utilidades para alternar la capacidad de un elemento flexible de crecer
para llenar el espacio disponible.
En el siguiente ejemplo, los
.flex-grow-1
elementos utilizan todo el espacio disponible que pueden, mientras que
permiten que los dos elementos flexibles restantes tengan el espacio necesario.
Utilice las
.flex-shrink-*
utilidades para alternar la capacidad de un elemento flexible de encogerse
si es necesario.
En el siguiente ejemplo, el segundo elemento flexible con
.flex-shrink-1
se ve obligado a ajustar su contenido a una nueva línea, "encogiéndose"
para permitir más espacio para el elemento flexible anterior con
.w-100
.
También existen variaciones sensibles para
flex-grow
y
flex-shrink
.
.flex-{grow|shrink}-0
.flex-{grow|shrink}-1
.flex-sm-{grow|shrink}-0
.flex-sm-{grow|shrink}-1
.flex-md-{grow|shrink}-0
.flex-md-{grow|shrink}-1
.flex-lg-{grow|shrink}-0
.flex-lg-{grow|shrink}-1
.flex-xl-{grow|shrink}-0
.flex-xl-{grow|shrink}-1
Márgenes automáticos
Flexbox puede hacer cosas bastante impresionantes cuando mezcla
alineaciones flexibles con márgenes automáticos.
A continuación se muestran tres ejemplos de cómo controlar elementos flexibles mediante márgenes automáticos:
predeterminado (sin margen automático), empujar dos elementos hacia la derecha (
.mr-auto
) y empujar dos elementos hacia la izquierda (
.ml-auto
).
Desafortunadamente, IE10 e IE11 no son compatibles con los márgenes
automáticos en elementos flexibles cuyo padre tiene un
justify-content
valor
no predeterminado
.
Consulte esta respuesta de StackOverflow
para obtener más detalles.
Con alinear elementos
Mover verticalmente un elemento de flexión a la parte superior o inferior
de un recipiente mediante la mezcla
align-items
,
flex-direction: column
y
margin-top: auto
o
margin-bottom: auto
.
Envolver
Cambia cómo se envuelven los artículos flexibles en un contenedor flexible.
Elija entre no envolver en absoluto (el navegador predeterminado) con
.flex-nowrap
, envolver con
.flex-wrap
o envolver al revés con
.flex-wrap-reverse
.
También existen variaciones de respuesta para
flex-wrap
.
.flex-nowrap
.flex-wrap
.flex-wrap-reverse
.flex-sm-nowrap
.flex-sm-wrap
.flex-sm-wrap-reverse
.flex-md-nowrap
.flex-md-wrap
.flex-md-wrap-reverse
.flex-lg-nowrap
.flex-lg-wrap
.flex-lg-wrap-reverse
.flex-xl-nowrap
.flex-xl-wrap
.flex-xl-wrap-reverse
Orden
Cambie el
orden
visual
de elementos flexibles específicos con un puñado de
order
utilidades.
Solo proporcionamos opciones para hacer que un artículo sea el primero o el
último, así como un restablecimiento para usar el orden DOM.
Como
order
toma cualquier valor entero (por ejemplo,
5
), agregue CSS personalizado para cualquier valor adicional necesario.
También existen variaciones de respuesta para
order
.
.order-0
.order-1
.order-2
.order-3
.order-4
.order-5
.order-6
.order-7
.order-8
.order-9
.order-10
.order-11
.order-12
.order-sm-0
.order-sm-1
.order-sm-2
.order-sm-3
.order-sm-4
.order-sm-5
.order-sm-6
.order-sm-7
.order-sm-8
.order-sm-9
.order-sm-10
.order-sm-11
.order-sm-12
.order-md-0
.order-md-1
.order-md-2
.order-md-3
.order-md-4
.order-md-5
.order-md-6
.order-md-7
.order-md-8
.order-md-9
.order-md-10
.order-md-11
.order-md-12
.order-lg-0
.order-lg-1
.order-lg-2
.order-lg-3
.order-lg-4
.order-lg-5
.order-lg-6
.order-lg-7
.order-lg-8
.order-lg-9
.order-lg-10
.order-lg-11
.order-lg-12
.order-xl-0
.order-xl-1
.order-xl-2
.order-xl-3
.order-xl-4
.order-xl-5
.order-xl-6
.order-xl-7
.order-xl-8
.order-xl-9
.order-xl-10
.order-xl-11
.order-xl-12
Alinear contenido
Use
align-content
utilidades en contenedores FlexBox para alinear los elementos de flexión
juntos
en el eje transversal.
Elegir
start
(por defecto del navegador),
end
,
center
,
between
,
around
, o
stretch
.
Para demostrar estas utilidades, hemos reforzado
flex-wrap: wrap
y aumentado la cantidad de elementos flexibles.
¡Aviso! Esta propiedad no tiene ningún efecto en filas individuales de elementos flexibles.
También existen variaciones de respuesta para
align-content
.
.align-content-start
.align-content-end
.align-content-center
.align-content-around
.align-content-stretch
.align-content-sm-start
.align-content-sm-end
.align-content-sm-center
.align-content-sm-around
.align-content-sm-stretch
.align-content-md-start
.align-content-md-end
.align-content-md-center
.align-content-md-around
.align-content-md-stretch
.align-content-lg-start
.align-content-lg-end
.align-content-lg-center
.align-content-lg-around
.align-content-lg-stretch
.align-content-xl-start
.align-content-xl-end
.align-content-xl-center
.align-content-xl-around
.align-content-xl-stretch