Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nuestra guía completa para el diseño de CSS flexbox. Esta guía completa explica
todo sobre flexbox, enfocándose en todas las diferentes propiedades posibles para el
elemento primario (el contenedor flexible) y los elementos secundarios (los
elementos flexibles). También incluye historial, demostraciones, patrones y una
tabla de soporte del navegador.
Patrocinador mensual
Gracias, Mailchimp!
Integre sus datos de usuario y marketing con más de 200 aplicaciones
comerciales populares.
▶ Antecedentes (#flexbox-background)
¡Consigue el póster!
¿Hace referencia mucho a esta guía? Fije una copia en la pared de la oficina.
monitor
Esto define un contenedor flexible; en línea o bloque dependiendo del valor dado.
Permite un contexto flexible para todos sus hijos directos.
CSS
.container {
display: flex; /* or inline-flex */
}
Tenga en cuenta que las columnas CSS no tienen efecto en un contenedor flexible.
dirección flexible
Esto establece el eje principal, definiendo así la dirección en la que se colocan los
elementos flexibles en el contenedor flexible. Flexbox es (aparte del envoltorio
opcional) un concepto de diseño de una sola dirección. Piense en los elementos
flexibles como distribuidos principalmente en filas horizontales o columnas
verticales.
CSS
.container {
flex-direction: row | row-reverse | column | column-reverse;
}
envoltura flexible
CSS
.container {
flex-wrap: nowrap | wrap | wrap-reverse;
}
flujo flexible
Esta es una abreviatura de las propiedades flex-direction y flex-wrap , que
juntas definen los ejes principal y transversal del contenedor flexible. El valor por
defecto es row nowrap .
CSS
.container {
flex-flow: column wrap;
}
justificar-contenido
Esto define la alineación a lo largo del eje principal. Ayuda a distribuir las sobras de
espacio libre extra cuando todos los elementos flexibles en una línea son inflexibles
o son flexibles pero han alcanzado su tamaño máximo. También ejerce cierto
control sobre la alineación de los elementos cuando desbordan la línea.
CSS
.container {
justify-content: flex-start | flex-end | center | space-between | space
}
Tenga en cuenta que el soporte del navegador para estos valores está matizado. Por
ejemplo, space-between nunca obtuve soporte de algunas versiones de Edge y start
/ end / left / right todavía no están en Chrome. MDN tiene cuadros detallados
(https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content) . Los
valores son más seguros flex-start , flex-end y center .
También hay dos palabras clave adicionales que puede vincular con estos valores:
safe y unsafe . El uso safe garantiza que, independientemente de cómo realice
este tipo de posicionamiento, no puede empujar un elemento de modo que se
muestre fuera de la pantalla (por ejemplo, desde la parte superior) de tal manera
que el contenido no pueda desplazarse también (llamado "pérdida de datos") .
alinear elementos
Esto define el comportamiento predeterminado de cómo se disponen los elementos
flexibles a lo largo del eje transversal en la línea actual. Piense en ello como la
justify-content versión para el eje transversal (perpendicular al eje principal).
CSS
.container {
align-items: stretch | flex-start | flex-end | center | baseline | firs
}
los safe unsafe palabras clave y modificador se pueden usar junto con el resto de
estas palabras clave (aunque tenga en cuenta la compatibilidad con el navegador
(https://developer.mozilla.org/en-US/docs/Web/CSS/align-items) ), y tratar de
ayudarlo a evitar alinear elementos de modo que el contenido se vuelva inaccesible.
alinear contenido
Esto alinea las líneas de un contenedor flexible dentro cuando hay espacio
adicional en el eje transversal, de forma similar a cómo justify-content alinea los
elementos individuales dentro del eje principal.
Nota: esta propiedad no tiene efecto cuando solo hay una línea de elementos
flexibles.
CSS
.container {
align-content: flex-start | flex-end | center | space-between | space-a
}
Las palabras clave safe y unsafe modificador se pueden usar junto con el resto de
estas palabras clave (aunque tenga en cuenta la compatibilidad con el navegador
(https://developer.mozilla.org/en-US/docs/Web/CSS/align-items) ), y tratar de
ayudarlo a evitar alinear elementos de modo que el contenido se vuelva inaccesible.
orden
CSS
.item {
order: 5; /* default is 0 */
}
flex-grow
Esto define la capacidad de un elemento flexible de crecer si es necesario. Acepta
un valor sin unidades que sirve como proporción. Dicta qué cantidad de espacio
disponible dentro del contenedor flexible debe ocupar el artículo.
CSS
.item {
flex-grow: 4; /* default 0 */
}
encogimiento flexible
Esto define la capacidad de un elemento flexible de encogerse si es necesario.
CSS
.item {
flex-shrink: 3; /* default 1 */
}
base flexible
Esto define el tamaño predeterminado de un elemento antes de que se distribuya el
espacio restante. Puede ser una longitud (por ejemplo, 20%, 5rem, etc.) o una
l b l l b l i ifi i i i d dd h l
palabra clave. La auto palabra clave significa "mirar mi propiedad de ancho o alto"
(que fue hecha temporalmente por la main-size palabra clave hasta que quedó en
desuso). Los content medios de la palabra clave “tamaño se basa en el contenido
del elemento” - esta palabra clave no está debidamente apoyado, sin embargo, por
lo que es difícil de probar y más difícil saber lo que sus hermanos max-content ,
min-content y fit-content lo hacen.
CSS
.item {
flex-basis: | auto; /* default auto */
}
flexionar
Esta es la abreviatura de flex-grow, flex-shrink y flex-basis combinado. Los
parámetros segundo y tercero ( flex-shrink y flex-basis ) son opcionales. El
valor predeterminado es 0 1 auto , pero si lo configura con un solo valor numérico,
es como 1 0 .
CSS
.item {
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
CSS
.item {
align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
▶ Ejemplos (#flexbox-examples)
▶ Loco (#flexbox-bugs)
Soporte de navegador
Desglosado por "versión" de flexbox:
ES Android
Cromo Safari Firefox Ópera Borde iOS
DECIR e
10
20- 3.1+ 2-21 2.1+ 3.2+
(tweener
(antiguo) (antiguo) (antiguo) 12.1+ 17+ (antiguo) (antiguo)
)
21+ 6.1+ 22+ (nuevo) (nuevo) 4.4+ 7.1+
11+
(nuevo) (nuevo) (nuevo) (nuevo) (nuevo)
(nuevo)