CSS3 Flexible Box
CSS3 Flexible Box è una nuova modalità di layout.
CSS3 Flexible Box (Scatola flessibile o FlexBox), quando la pagina è la necessità di adattarsi alle diverse dimensioni dello schermo e tipi di dispositivo quando gli elementi devono garantire il corretto layout di comportamento.Lo scopo di introdurre il modello di layout sacca flessibile è quello di fornire un metodo più efficiente per organizzare un contenitore sub-elementi, allineamento e distribuzione dello spazio vuoto.
Supporto per il browser
I dati riportati nella tabella rappresentano il primo browser a supportare il numero di versione di proprietà.
Subito dopo il browser il numero -webkit- o il prefisso -moz- specificato.
proprietà | |||||
---|---|---|---|---|---|
supporto di base (Single-line FlexBox) | 29,0 21,0 -webkit- | 11.0 | 22.0 18,0 -moz- | 6.1 -webkit- | 12.1 -webkit- |
Multi-line FlexBox | 29,0 21,0 -webkit- | 11.0 | 28.0 | 6.1 -webkit- | 17,0 15.0 -webkit- 12.1 |
Contenuto CSS3 Flexible Box
scatola flessibile in un contenitore elastico (contenitore Flex) e le sotto-elementi elastici (voce Flex) Componenti.
contenitore elastico impostando la proprietà display è flessibile o inline-flex sarà definito come il contenitore elastico.
Il contenitore elastica contiene uno o più elastici sottoelementi.
Nota: il contenitore esterno elastico e l'elemento elastico è un bambino di resa normale. scatola flessibile definisce solo il modo resiliente gli elementi figlio all'interno del layout del contenitore elastico.
sub-elemento flessibile di solito è visualizzato nella casella linea elastica. Per impostazione predefinita, ogni contenitore è solo una riga.
Quanto segue mostra l'elemento elastico elementi figlio vengono visualizzati in una riga, da sinistra a destra:
Esempi
<HTML>
<Head>
<Style>
.flex-container {
Display: -webkit-flex;
Display: flettere;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
.flex-item {
background-color: cornflowerblue;
width: 100px;
altezza: 100px;
margin: 10px;
}
</ Style>
</ Head>
<Body>
<Div class = "flex-contenitore">
<Div class = "flex-item"> voce flex 1 </ div>
<Div class = "flex-item"> voce Flex 2 </ div>
<Div class = "flex-item"> voce Flex 3 </ div>
</ Div>
</ Corpo>
</ Html>
Prova »
Naturalmente, possiamo modificare la disposizione.
Se si imposta la direction
di proprietà di rtl
(da destra a sinistra), la disposizione dei sub-elementi elastici cambierà, layout di pagina cambiamento anche seguito:
Esempi
Direzione: rtl;
}
.flex-container {
Display: -webkit-flex;
Display: flettere;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
.flex-item {
background-color: cornflowerblue;
width: 100px;
altezza: 100px;
margin: 10px;
}
Prova »
flex-direzione
flex-direction
ordine specifica il sotto-elemento elastico nel contenitore principale.
grammatica
flex-direction: row | row-reverse | column | column-reverse
flex-direction
valori sono:
- fila: lateralmente da sinistra a destra (sinistra), la disposizione predefinita.
- row-inverso: indietro lateralmente allineato (giustificato a destra, in avanti dalla fila, l'ultimo in alto.
- colonna: disposizione verticale.
- colonna inversa: invertire disposizione verticale, dalla fila posteriore in avanti, e, infine, una riga in alto.
L'esempio che segue illustra la row-reverse
uso:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-flex-direzione: row-inversa;
flex-direction: row-inversa;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
L'esempio che segue illustra la column
utilizzata:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-flex-direzione: Colonna;
flex-direzione: Colonna;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
I seguenti esempi dimostrano la column-reverse
uso:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-flex-direzione: Colonna-reverse;
flex-direction: Colonna-reverse;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
attributo giustificare-content
allineamento contenuto (giustificare-contenuto) sulle proprietà elastiche del contenitore delle applicazioni, gli elementi elastici contenitore elastici allineato lungo l'asse principale (asse principale).
sintassi giustificare contenuto è il seguente:
justify-content: flex-start | flex-end | center | space-between | space-around
Ogni analisi del valore:
- flex-start:
progetto flessibile alla prima linea accanto al riempimento. Questa è l'impostazione predefinita. Il primo principale-start dai bordi esterni dell'elemento elastico viene inserito nei bordi principale all'inizio della linea, e il successivo lavaggio, a sua volta messo un termine elastica.
- flex-end:
Un progetto flessibile alla fine della riga successiva al riempimento. I primi elementi principale fascia dall'esterno fili elastici sono posti in bordi main-terminali della linea, e il successivo lavaggio a sua volta collocate una clausola elastica.
- centro:
progetto flessibile centrato vicino da riempire. (Se lo spazio libero rimanente è negativo, il progetto sarà anche traboccare elasticità in entrambe le direzioni).
- spazio tra:
progetto flessibile distribuita uniformemente sulla riga. Se lo spazio è negativo o solo termine elastica, il valore equivalente alla flex-start. Altrimenti, principale inizia dai bordi esterni della prima fila e un allineamento elastica oggetto, mentre la linea principale-end e il margine fascia ultimo un allineamento termine elastica e la distribuzione degli elementi rimanenti sulla linea elastica, adiacente equidistanti articoli.
- spazio-around:
Un progetto flessibile uniformemente distribuita sulla linea, su entrambi i lati della metà sinistra dello spazio. Se lo spazio è negativo o solo termine elastica, il valore è equivalente al centro. Altrimenti, l'elasticità del progetto lungo la linea di distribuzione ed equidistanti tra loro (ad esempio, è 20px), lasciando la metà dell'intervallo (1/2 * 20 px = 10px) tra la testa e la coda su entrambi i lati e contenitore elastico.
Rendering mostrano:
L'esempio seguente dimostra la flex-end
uso:
Esempi
Display: -webkit-flex;
Display: flettere;
-Giustificare-contenuti -webkit: Flex-end;
giustificare-content: flex-end;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
L'esempio seguente dimostra il center
utilizzo s ':
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-giustificare-contenuti: center;
giustificare-contenuti: center;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
I seguenti esempi dimostrano la space-between
l'uso di:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-giustificare-contenuti: spazio tra;
giustificare-content: spazio tra;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
I seguenti esempi dimostrano la space-around
utilizzare:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-giustificare-contenuti: lo spazio intorno;
giustificare-contenuti: lo spazio intorno;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
align-oggetti di proprietà
align-items
impostare o recuperare l'elemento elastico sul lato dell'asse casella (asse verticale) direzione di allineamento.
grammatica
align-items: flex-start | flex-end | center | baseline | stretch
Ogni analisi del valore:
- flex-start: il lato perimetro dell'elemento scatolare asse elastico (asse verticale) contro la posizione iniziale dell'asse del lato in tensione della linea di partenza di confine.
- flex-end: elastica lato boundary dell'asse dell'elemento scatolare (asse verticale) contro la posizione di partenza per vivere estremità dell'albero lato della linea di confine.
- Centro: area elemento elastico disposto nel mezzo dell'asse lato rete (asse verticale) su. (Se la dimensione è inferiore alla dimensione della linea elastica dell'elemento scatolare, è la stessa lunghezza in entrambe le direzioni overflow).
- di base: elementi scatolari quali elastico albero interno e la linea di albero lato è lo stesso, il valore di equivalente 'flex-start'. In altri casi, il valore sarà coinvolto in allineamento basale.
- allungare: Se la dimensione dell'attributo casella margine specifica la dimensione del lato dell'albero è 'auto', il suo valore sarà vicino agli elementi pubblicitari come la dimensione, ma seguirà la proprietà 'min / max-larghezza / altezza' restrizioni.
L'esempio seguente dimostra stretch(默认值)
l'uso di:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-align-voci: Stretch;
align-elementi: allungare;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
L'esempio seguente dimostra la flex-start
uso:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-align-voci: flex-start;
align-articoli: flex-start;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
L'esempio seguente dimostra la flex-end
uso:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-align-voci: Flex-end;
align-articoli: flex-end;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
L'esempio seguente dimostra il center
utilizzo s ':
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-align-voci: center;
align-elementi: center;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
L'esempio seguente mostra la baseline
utilizzo:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-align-voci: baseline;
align-elementi: baseline;
width: 400px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
proprietà flex-wrap
attributoflex-wrap viene utilizzato per specificare una modalità elemento involucro box bambino elastico.
grammatica
flex-flow: ||
Ogni analisi del valore:
- nowrap - Per impostazione predefinita, il contenitore elastico come una singola linea.In questo caso bambino resilienti possono traboccare contenitore.
- avvolgere - contenitore elastico più linee.parte Overflow del bambino resiliente è collocato in questo caso ad una nuova linea, rottura del cavo interno si verificherà sottochiave
- avvolgere-retromarcia - in ordine inverso involucro.
L'esempio seguente dimostra l' nowrap
uso:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-flex-wrap: nowrap;
Flex-wrap: nowrap;
width: 300px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
L'esempio seguente mostra l' wrap
di utilizzo:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-flex-wrap: avvolgere;
flex-wrap: avvolgere;
width: 300px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
L'esempio seguente dimostra l' wrap-reverse
uso:
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-flex-wrap: wrap-inversa;
Flex-wrap: wrap-inversa;
width: 300px;
altezza: 250px;
background-color: grigio chiaro;
}
Prova »
attributo align-content
align-content
attributo viene utilizzato per modificare il flex-wrap
comportamento attributo. Simili align-items
, ma non è impostato l'allineamento dei sub-elementi elastici, ma impostare l'allineamento di ogni riga.
grammatica
align-content: flex-start | flex-end | center | space-between | space-around | stretch
Ogni analisi del valore:
-
stretch
- default. Ogni linea tenderà ad occupare lo spazio rimanente. -
flex-start
- righe di scatole impilate nella posizione iniziale del contenitore elastico. -
flex-end
- righe di scatole impilate nella posizione finale del contenitore elastico. -
center
- righe di scatole impilate alla posizione centrale del contenitore elastico. -
space-between
- il contenitore sacca flessibile ogni riga distribuito uniformemente. -
space-around
- ogni riga nel contenitore busta flessibile equamente distribuito tra le due estremità di mantenere la metà dei sotto-elementi e sub-elementi di dimensioni spaziatura.
L'esempio seguente dimostra il center
utilizzo s ':
Esempi
Display: -webkit-flex;
Display: flettere;
-webkit-flex-wrap: avvolgere;
flex-wrap: avvolgere;
-webkit-align-contenuti: center;
align-contenuti: center;
width: 300px;
altezza: 300px;
background-color: grigio chiaro;
}
Prova »
attributi sub-elemento flessibile
sequenza
grammatica
order:
Ogni analisi del valore:
- <Integer>: un valore intero utilizzato per definire l'ordine in cui il valore ridotto della superficie superiore. Può essere negativo.
order
per impostare le proprietà all'interno delle proprietà elastiche degli elementi elastici contenitore figlio:
Esempi
background-color: cornflowerblue;
width: 100px;
altezza: 100px;
margin: 10px;
}
.first {
-webkit-ordine: -1;
ordine: -1;
}
Prova »
allineare
Impostazioni "margine" è il valore "auto", ottenere automaticamente il contenitore elastico nello spazio rimanente. Quindi impostare il valore margine verticale di "auto", permette i sub-elementi elastici sono completamente concentrati sulla direzione due assi del contenitore elastico.
I seguenti esempi sono il primo elemento sub-elastico set margin-right: auto;
. Lo spazio restante verrà inserito negli elementi giusti:
Esempi
background-color: cornflowerblue;
width: 75px;
Altezza: 75px;
margin: 10px;
}
.flex-elemento: first-child {
margin-right: auto;
}
Prova »
centro perfetto
Gli esempi che seguono saranno la soluzione perfetta per i problemi che di solito incontriamo centro.
scatola elastico, il centro diventa molto semplice, voglio solo impostare il margin: auto;
può fare i sub-elementi elastici in direzione assiale su due perfettamente centrato:
Esempi
background-color: cornflowerblue;
width: 75px;
Altezza: 75px;
margin: auto;
}
Prova »
align-auto
align-self
attributo viene utilizzato per impostare la direzione di allineamento dell'elemento elastico stesso sul lato dell'asse (asse verticale).
grammatica
align-self: auto | flex-start | flex-end | center | baseline | stretch
Ogni analisi del valore:
- Auto: Se il valore di 'auto' 'align-sé', il valore calcolato di elemento principale dell'elemento 'align-voci' valore, se non ha genitore, il valore calcolato di 'stretch'.
- flex-start: il lato perimetro dell'elemento scatolare asse elastico (asse verticale) contro la posizione iniziale dell'asse del lato in tensione della linea di partenza di confine.
- flex-end: elastica lato boundary dell'asse dell'elemento scatolare (asse verticale) contro la posizione di partenza per vivere estremità dell'albero lato della linea di confine.
- Centro: area elemento elastico disposto nel mezzo dell'asse lato rete (asse verticale) su. (Se la dimensione è inferiore alla dimensione della linea elastica dell'elemento scatolare, è la stessa lunghezza in entrambe le direzioni overflow).
- di base: elementi scatolari quali elastico albero interno e la linea di albero lato è lo stesso, il valore di equivalente 'flex-start'. In altri casi, il valore sarà coinvolto in allineamento basale.
- allungare: Se la dimensione dell'attributo casella margine specifica la dimensione del lato dell'albero è 'auto', il suo valore sarà vicino agli elementi pubblicitari come la dimensione, ma seguirà la proprietà 'min / max-larghezza / altezza' restrizioni.
L'esempio seguente mostra i sotto-elementi elastici allineare sé effetto applicazione di valori diversi:
Esempi
background-color: cornflowerblue;
width: 60px;
min-height: 100px;
margin: 10px;
}
.item1 {
-webkit-align-auto: flex-start;
align-auto: flex-start;
}
.item2 {
-webkit-align-auto: FLEX-end;
align-auto: flex-end;
}
.item3 {
-webkit-align-auto: center;
align-auto: center;
}
.item4 {
-webkit-align-auto: baseline;
align-auto: baseline;
}
.item5 {
-webkit-align-auto: allungare;
align-auto: allungare;
}
Prova »
flettere
flex
attributo viene utilizzato per specificare come allocare lo spazio per i sotto-elementi elastici.
grammatica
flex:none | [ flex-grow ] || [ flex-shrink ] || [ flex-basis ]
Ogni analisi del valore:
- nessuno: nessuno calcolare parola chiave è: 0 0 auto
- [Flex-crescere]: definizione del rapporto di espansione scatola elemento elastico.
- [Flex-shrink]: definizione del rapporto di restringimento scatola elemento elastico.
- [Flex-base]: Il valore di riferimento di default definisce l'elemento elastico della scatola.
Nel seguente esempio, un primo elemento sub-elastico occupa 2/4 dello spazio, le altre due ogni 1/4 Spazio:
Esempi
background-color: cornflowerblue;
margin: 10px;
}
.item1 {
-webkit-flex: 2;
Flessione: 2;
}
.item2 {
-webkit-flex: 1;
Flessione: 1;
}
.item3 {
-webkit-flex: 1;
Flessione: 1;
}
Prova »
Altri esempi
Creare una pagina di risposta utilizzando una scatola elastica
CSS3 flessibili Proprietà casella
La seguente tabella elenca comunemente utilizzati alla casella nelle proprietà elastiche:
proprietà | descrizione |
---|---|
display | Specifica il tipo di dialogo elemento HTML. |
flex-direzione | Specificare come disporre gli elementi di neutroni contenitore elastico |
giustificare-content | Un elemento elastico nella scatola dell'alberino direzione (orizzontale) di allineamento. |
align-articoli | Un elemento elastico nell'asse laterali casella (asse verticale) la direzione di allineamento. |
Flex-wrap | Se un elastico box involucro sotto-elementi al di fuori del contenitore principale. |
align-content | Modificare il comportamento della proprietà flex-wrap, simile per allineare-elementi, ma non imposta il sotto-elementi sono allineati, ma l'allineamento della linea di set |
flex-flow | flex-direction e Flex-wrap stenografia |
ordine | Un ordine elemento figlio scatola elastico. |
align-auto | Utilizzare gli elementi figlio resilienti. Coprire il contenitore align-oggetti di proprietà. |
flettere | Come impostare un elemento elastico box bambino spazio allocato. |