Caja flexible CSS3
Caja flexible CSS3 es un nuevo modo de diseño.
Caja flexible CSS3 (Recuadro flexible o Flexbox), cuando la página es una necesidad de adaptarse a los tamaños de pantalla y tipos de dispositivos diferentes cuando los elementos tienen que garantizar un comportamiento adecuado diseño.El propósito de introducir el modelo de diseño de bolsa flexible es proporcionar una manera más eficiente de organizar un recipiente sub-elementos, alineación y distribución del espacio en blanco.
Soporte para el navegador
Las cifras de la tabla representan el primer navegador compatible con el número de versión de propiedad.
Inmediatamente después del navegador el número -webkit- o prefijo -moz- especificado.
propiedad | |||||
---|---|---|---|---|---|
El apoyo básico (Flexbox de una sola línea) | 29.0 21.0 -webkit- | 11.0 | 22.0 18.0 -moz- | 6.1 -webkit- | 12.1 -webkit- |
Flexbox multilínea | 29.0 21.0 -webkit- | 11.0 | 28.0 | 6.1 -webkit- | 17.0 15.0 -webkit- 12.1 |
Contenido de la caja flexible CSS3
Caja flexible hecho de un contenedor elástico (contenedor Flex) y los sub-elementos elásticos (partida) Componentes de Flex.
contenedor elástico estableciendo la propiedad de presentación es la flexión o en línea-flex se define como el contenedor elástico.
El recipiente elástico contiene uno o más resistentes sub-elementos.
Nota: el recipiente exterior elástico y el elemento elástico es un niño de la prestación normal. Caja flexible sólo define lo resistente que los elementos secundarios dentro del diseño del recipiente elástico.
sub-elemento flexible está por lo general aparece en el cuadro de la línea elástica. De forma predeterminada, cada contenedor es sólo una línea.
A continuación se muestra el elemento elástico elementos secundarios se muestran en una sola línea, de izquierda a derecha:
Ejemplos
<Html>
<Head>
<Style>
.flex-contenedor {
display: -webkit-flex;
display: flexionar;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
.flex-item {
background-color: azul aciano;
Anchura: 100px;
altura: 100px;
margen: 10px;
}
</ Style>
</ Head>
<Cuerpo>
<Div class = "flex-container">
<Div class = "-flex elemento"> elemento de flexión 1 </ div>
<Div class = "-flex elemento"> elemento flex 2 </ div>
<Div class = "-flex elemento"> elemento Flex 3 </ div>
</ Div>
</ Body>
</ Html>
Trate »
Por supuesto, podemos modificar la disposición.
Si nos fijamos el direction
de propiedad de rtl
(de derecha a izquierda), la disposición de los sub-elementos elásticos va a cambiar, diseños de página cambio también siguieron:
Ejemplos
Dirección: RTL;
}
.flex-contenedor {
display: -webkit-flex;
display: flexionar;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
.flex-item {
background-color: azul aciano;
Anchura: 100px;
altura: 100px;
margen: 10px;
}
Trate »
flex-dirección
flex-direction
orden especifica el sub-elemento elástico en el contenedor principal.
gramática
flex-direction: row | row-reverse | column | column-reverse
flex-direction
valores son:
- fila: lateralmente de izquierda a derecha (izquierda), la disposición predeterminada.
- fila-inverso: revés alineados lateralmente (justificado a la derecha, hacia adelante desde la última fila, el último en la parte superior.
- columna: disposición vertical.
- columna inversa: revertir disposición vertical, desde la fila de atrás adelante, y finalmente una fila en la parte superior.
El siguiente ejemplo ilustra la row-reverse
uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-flex-dirección: fila-inversa;
flex-dirección: fila-inversa;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
El siguiente ejemplo ilustra la column
utilizada:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-flex-dirección: columna;
flex-dirección: columna;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
Los siguientes ejemplos demuestran la column-reverse
uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-flex-dirección: columna-inversa;
flex-dirección: columna-inversa;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
atributo justificar contenido
alineación contenido (justificar-contenido) sobre las propiedades elásticas del contenedor de la aplicación, los elementos elásticos de contenedores elásticos alineado a lo largo del eje principal (eje principal).
sintaxis justificar-contenido es el siguiente:
justify-content: flex-start | flex-end | center | space-between | space-around
Cada análisis de valor:
- flex-inicio:
proyecto flexible para la primera línea junto al relleno. Este es el valor predeterminado. El primer principal de inicio de los bordes exteriores del elemento elástico se coloca en los bordes principales de inicio de la línea, y el rubor posterior a su vez coloca un término elástico.
- flex-end:
proyecto flexible al final de la línea al lado del relleno. Los primeros elementos de gama principal de fuera de los hilos elásticos se colocan en los bordes de fin principal de la línea, y el rubor posterior a su vez colocan un término elástico.
- centro:
proyecto flexible centrado junto a llenar. (Si el espacio libre que queda es negativo, el proyecto también se desborde elasticidad en ambas direcciones).
- espacio entre:
proyecto flexible distribuye uniformemente en la fila. Si el espacio es negativo o solamente un término elástico, el valor equivalente a la flexión de arranque. De lo contrario, la principal-comenzar desde los bordes exteriores de la primera fila y una alineación elemento elástico, mientras que la línea de extremo principal y el margen lateral último término una alineación elástica y distribución de los productos que queden en la línea elástica, adyacente igualmente espaciados artículos.
- espacio en torno a:
proyecto Flexible distribuye de manera uniforme en la línea, a ambos lados de la mitad izquierda del espacio. Si el espacio es negativo o solamente un término elástico, el valor es equivalente a la central. De lo contrario, la elasticidad del proyecto a lo largo de la línea de distribución e igualmente espaciados entre sí (por ejemplo, es 20 píxeles), mientras que deja la mitad del intervalo (1/2 * 20 píxeles = 10px) entre la cabeza y la cola en ambos lados y recipiente elástico.
Representaciones muestran:
El siguiente ejemplo demuestra la flex-end
uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-justifica-contenido: flexionar-final;
justificar-contenido: flex-final;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
El siguiente ejemplo demuestra el center
su uso 's:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-justifica-contenido: center;
justificar contenido: center;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
Los siguientes ejemplos demuestran el space-between
el uso de:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-justifica-contenido: espacio entre;
justificar-contenido: espacio entre;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
Los siguientes ejemplos demuestran el space-around
usar:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-justifica-contenido: espacio alrededor;
justificar-contenido: espacio alrededor;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
ALIGN-artículos de propiedad
align-items
fijados o recuperar el elemento elástico en el lado del eje de la caja (eje vertical) dirección de alineación.
gramática
align-items: flex-start | flex-end | center | baseline | stretch
Cada análisis de valor:
- flex-inicio: el lado límite de la elemento de caja eje elástico (eje vertical) frente a la posición inicial del eje de la parte en vivo de la frontera línea de salida.
- flex-end: límite elástico lado del eje de elemento de caja (eje vertical) frente a la posición de partida para vivir extremo del eje de la línea de frontera.
- centro: el cuadro de elemento elástico colocado en el centro del eje del lado de línea (eje vertical) en. (Si el tamaño es más pequeño que el tamaño de la línea elástica del elemento de caja, es de la misma longitud en ambas direcciones de desbordamiento).
- línea de base: elementos de caja como eje interior elástica y línea de ejes lado es lo mismo, el valor de equivalente 'flex-start'. En otros casos, el valor estará involucrado en alineación de línea base.
- estirar: Si el tamaño del atributo cuadro margen especifica el tamaño del lado del eje es 'auto', su valor será cercano a los elementos de línea como el tamaño, pero seguirá la propiedad 'min / max-anchura / altura' restricciones.
El siguiente ejemplo demuestra stretch(默认值)
el uso de:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-align-items: Estiramiento;
alinear-elementos: estirar;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
El siguiente ejemplo demuestra la flex-start
uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-align-items: flexionar en marcha;
alinear-elementos: la flexión de arranque;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
El siguiente ejemplo demuestra la flex-end
uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-align-items: Flex-final;
alinear-elementos: la flexión de extremo;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
El siguiente ejemplo demuestra el center
su uso 's:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-align-items: center;
alinear-elementos: center;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
El siguiente ejemplo demuestra la baseline
de uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-align: baseline-artículos;
alinear-elementos: la línea de base;
Anchura: 400px;
altura: 250px;
background-color: gris claro;
}
Trate »
propiedad flex-wrap
atributoflex-wrap se utiliza para especificar un modo de elemento de envoltura elástica caja hija.
gramática
flex-flow: ||
Cada análisis de valor:
- nowrap - De manera predeterminada, el contenedor elástico como una sola línea.En este caso infantil elástico puede desbordar recipiente.
- envuelva - contenedores elástica varias líneas.parte de rebosamiento del niño resiliente se coloca en este caso a una nueva línea, salto de línea interna ocurrirá subclave
- wrap-invertir - Inversión del orden de envoltura.
El siguiente ejemplo demuestra el nowrap
uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-flex-wrap: nowrap;
flex-wrap: nowrap;
Anchura: 300px;
altura: 250px;
background-color: gris claro;
}
Trate »
El siguiente ejemplo demuestra la wrap
de uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-flex-wrap: envolver;
flex-wrap: envolver;
Anchura: 300px;
altura: 250px;
background-color: gris claro;
}
Trate »
El siguiente ejemplo demuestra la wrap-reverse
uso:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-flex-wrap: wrap-inversa;
flex-wrap: wrap-inversa;
Anchura: 300px;
altura: 250px;
background-color: gris claro;
}
Trate »
atributo ALIGN-contenido
align-content
atributo se utiliza para modificar el flex-wrap
comportamiento atributo. Similar align-items
, pero no está ajustado el alineamiento de los sub-elementos elásticos, pero definen la alineación de cada fila.
gramática
align-content: flex-start | flex-end | center | space-between | space-around | stretch
Cada análisis de valor:
-
stretch
- por defecto. Cada línea se extenderá a ocupar el espacio restante. -
flex-start
- filas de cajas apiladas a la posición inicial del contenedor elástico. -
flex-end
- filas de cajas apiladas a la posición final del contenedor elástico. -
center
- filas de cajas apiladas a la posición central del recipiente elástico. -
space-between
- cada fila del envase bolsa flexible uniformemente distribuida. -
space-around
- cada línea en el contenedor bolsa flexible distribuye por igual entre los dos extremos de retener la mitad de los sub-elementos y sub-elementos separadores tamaño.
El siguiente ejemplo demuestra el center
su uso 's:
Ejemplos
display: -webkit-flex;
display: flexionar;
-webkit-flex-wrap: envolver;
flex-wrap: envolver;
-webkit-align-contenido: center;
alinear-contenido: center;
Anchura: 300px;
altura: 300px;
background-color: gris claro;
}
Trate »
atributos sub-elemento flexible
secuencia
gramática
order:
Cada análisis de valor:
- <Integer>: un valor entero utilizado para definir el orden en el que el pequeño valor de la superficie superior. Puede ser negativo.
order
para establecer las propiedades dentro de las propiedades elásticas de los elementos elásticos contenedor secundario:
Ejemplos
background-color: azul aciano;
Anchura: 100px;
altura: 100px;
margen: 10px;
}
.First {
-webkit-orden: -1;
orden: -1;
}
Trate »
alinear
Ajustes "margen" es el valor "auto", obtener automáticamente el contenedor elástico en el espacio restante. Así ajustar el margen vertical de "auto", que permite a los sub-elementos elásticos están completamente enfocados en la dirección de dos ejes del contenedor elástico.
Los siguientes ejemplos están en el primer elemento de sub-elástico fijado margin-right: auto;
. El espacio restante se colocará en los elementos adecuados:
Ejemplos
background-color: azul aciano;
Ancho: 75px;
altura: 75px;
margen: 10px;
}
.flex-elemento: first-child {
margin-right: auto;
}
Trate »
centro perfecto
Los siguientes ejemplos serán la solución perfecta a los problemas que suelen encontrar centro.
caja elástica, centro se convierte en muy simple, sólo quieren establecer el margin: auto;
puede hacer que los sub-elementos elásticos en la dirección axial en dos perfectamente centrada:
Ejemplos
background-color: azul aciano;
Ancho: 75px;
altura: 75px;
margen: auto;
}
Trate »
alinear-auto
align-self
atributo se utiliza para establecer la dirección de la alineación del elemento elástico en sí en el lado del eje (eje vertical).
gramática
align-self: auto | flex-start | flex-end | center | baseline | stretch
Cada análisis de valor:
- Auto: Si el valor 'auto' 'align-yo ", el valor calculado de elemento padre del elemento de valor"-items align', si no tiene padre, el valor calculado de la 'estiramiento'.
- flex-inicio: el lado límite de la elemento de caja eje elástico (eje vertical) frente a la posición inicial del eje de la parte en vivo de la frontera línea de salida.
- flex-end: límite elástico lado del eje de elemento de caja (eje vertical) frente a la posición de partida para vivir extremo del eje de la línea de frontera.
- centro: el cuadro de elemento elástico colocado en el centro del eje del lado de línea (eje vertical) en. (Si el tamaño es más pequeño que el tamaño de la línea elástica del elemento de caja, es de la misma longitud en ambas direcciones de desbordamiento).
- línea de base: elementos de caja como eje interior elástica y línea de ejes lado es lo mismo, el valor de equivalente 'flex-start'. En otros casos, el valor estará involucrado en alineación de línea base.
- estirar: Si el tamaño del atributo cuadro margen especifica el tamaño del lado del eje es 'auto', su valor será cercano a los elementos de línea como el tamaño, pero seguirá la propiedad 'min / max-anchura / altura' restricciones.
El siguiente ejemplo demuestra los sub-elementos elásticos se alinean-auto efecto de la aplicación de los diferentes valores:
Ejemplos
background-color: azul aciano;
Ancho: 60px;
min-height: 100px;
margen: 10px;
}
.item1 {
-webkit-align-auto: flexionar en marcha;
alinear-auto: flex-arranque;
}
.item2 {
-webkit-align-auto: Flex-final;
alinear-auto: flex-final;
}
.item3 {
-webkit-align-auto: center;
alinear-auto: center;
}
.item4 {
-webkit-align-auto: línea de base;
alinear-auto: línea de base;
}
.item5 {
-webkit-align-auto: estirar;
alinear-auto: estirar;
}
Trate »
flexible
flex
atributo se utiliza para especificar cómo asignar espacio para los sub-elementos elásticos.
gramática
flex:none | [ flex-grow ] || [ flex-shrink ] || [ flex-basis ]
Cada análisis de valor:
- Ninguno: la palabra clave no es calcular: 0 0 auto
- [Flex-crecer]: definición de la relación de expansión cuadro elemento elástico.
- [Flex-encogimiento]: definición de la relación de contracción cuadro elemento elástico.
- [Flex-base]: El valor de referencia predeterminado define el elemento elástico de la caja.
En el siguiente ejemplo, un primer elemento de sub-elástico ocupa 2/4 del espacio, los otros dos cada cuarto espacio:
Ejemplos
background-color: azul aciano;
margen: 10px;
}
.item1 {
-webkit-flex: 2;
Flex: 2;
}
.item2 {
-webkit-flex: 1;
Flex: 1;
}
.item3 {
-webkit-flex: 1;
Flex: 1;
}
Trate »
más ejemplos
Crear una página de respuesta utilizando una caja elástica
CSS3 Propiedades de cuadro flexibles
La siguiente tabla muestra utilizan comúnmente a la caja en las propiedades elásticas:
propiedad | descripción |
---|---|
visualización | Especifica el tipo de cuadro elemento HTML. |
flex-dirección | Especificar cómo colocar los elementos de neutrones contenedor elástico |
justificar el contenido | Un elemento elástico en la dirección cuadro de husillo (horizontal) de la alineación. |
alinear-artículos | Un elemento elástico en el eje de lado de la caja (eje vertical) la dirección de alineación. |
flex-wrap | Ya sea un elástico de la caja envolvente sub-elementos más allá del contenedor primario. |
alinear-contenido | Modificar el comportamiento de la propiedad flex-wrap, similar a alinear-elementos, pero no establece los subelementos están alineadas, pero la alineación del conjunto de conducciones |
flex-flujo | flex-dirección y flex-wrap taquigrafía |
orden | Una orden elemento hijo cuadro elástica. |
alinear-auto | Utilice los elementos secundarios resilientes. Cubrir la propiedad align-artículos contenedor. |
flexible | Cómo configurar un elemento de cuadro de niño elástica espacio asignado. |