CSS Flex ievilkumi starp elementiem. Bloka saskaņošana ar CSS, izmantojot Flex konteineru

CSS Flexbox (Elastīgs kastes izkārtojuma modulis) - Elastīgā konteinera izkārtojuma modulis ir veidošanas elementu metode, ass pamats ir balstīts uz.

Flexbox sastāv no ārā flex konteiners (Flex konteiners) un elastīgi priekšmeti (Flex preces). Elastīgus elementus var iebūvēt virknē vai kolonnā, un atlikušā brīvā telpa tiek izplatīta starp tām dažādos veidos.

Flexbox modulis ļauj atrisināt šādus uzdevumus:

  • Novietojiet elementus vienā no četriem virzieniem: no kreisās uz labo pusi pa labi pa kreisi, uz leju vai apakšā uz augšu.
  • Ignorēt elementu attēlošanas kārtību.
  • Automātiski nosaka priekšmetu izmērus, lai tie atbilstu pieejamajai telpai.
  • Atrisināt problēmu ar horizontāliem un vertikāliem centriem.
  • Pārsūtiet elementus konteinera iekšpusē, neļaujot tās pārplūdi.
  • Izveidojiet tās pašas augstuma kolonnas.
  • Izveidot nospiestu lapas apakšā.

Flexbox atrisina konkrētus uzdevumus -, piemēram, navigācijas panelis, jo flex elementi var novietot tikai vienā no asīm.

Moduļa un pārrobežu pārlūku risinājumu problēmu saraksts viņiem var lasīt Philip Walton rakstā.

Kas ir Flexbox

Atbalsta pārlūkprogrammas

IE: 11.0, 10,0 -ms-
Firefox: 28.0, 18,0 -Moz-
Hroms: 29.0, 21,0 -webkit-
Safari: 6.1 -webkit-
Opera: 12.1 -webkit
iOS safari: 7.0 -webkit-
Operas mini: 8
Android pārlūks: 4.4, 4.1 -webkit-
Chrome Android: 44

1. Pamatveidojumi

Fig. 1. Flexbox modelis

Lai aprakstītu Flexbox moduli, tiek izmantots īpašs terminu kopums. Flex-plūsmas vērtība un ierakstīšanas režīms nosaka šo noteikumu atbilstību fiziskiem norādījumiem: TOP / RIGHT / BOTTH / LEFT, AXES: Vertikālā / horizontālā un lieluma: platums / augstums.

Galvenā ass - ass, kurā ir izklāstīti flex elementi. Tas galvenokārt mēra mērījumus.

Galvenais sākums un galvenais gals - līnijas, kas nosaka Flex konteinera sākotnējo un pēdējo pusi, salīdzinot ar flex elementiem (sākot ar galveno sākumu uz galveno galu).

Galvenais izmērs) - Flex konteinera vai flex elementu platums vai augstums atkarībā no tā, ka tās galvenokārt mēra, nosaka Flex konteinera vai Flex elementa galveno izmēru.

Krusta ass - ass perpendikulāra galvenajai asij. Tas stiepjas šķērsvirzienā.

Cross Start un Cross End - līnijas, kas nosaka šķērsvirziena ass sākotnējo un galīgo pusi attiecībā pret kuru ir izklāstīti flex elementi.

Krusta izmērs) - Flex-konteinera vai flex elementu platums vai augstums atkarībā no šķērsvirziena dimensijas, ir to šķērsvirziena lielums.


Fig. 2. Rindu un kolonnu režīms

2. Flex-tvertne

Flex konteiners nosaka jaunu elastīgu formatēšanas kontekstu tās saturam. Flex konteiners nav bloka konteiners, tāpēc tādi CSS īpašumi, piemēram, peldēt, dzidrs, vertikāls-izlīdzinājums nedarbojas bērnu elementiem. Arī Flex konteiners neietekmē kolonnas - * īpašības, veidojot skaļruņus tekstā un pseido elementos :: Pirmā rinda un :: Pirmā burta.

Flexbox Markup modelis ir saistīts ar noteiktu vērtību CSS īpašuma displeja mātes HTML elements, kas satur sub-vēlēšanu blokus iekšpusē. Lai kontrolētu elementus, izmantojot šo modeli, jums ir nepieciešams iestatīt displeja īpašumu šādi:

Flex-Container (/ * ģenerē Flex-Container Block * / Displejs: -Webkit-Flex; Displejs: Flex;) Displejs: inline-flex;)

Pēc šo īpašību vērtību uzstādīšanas katrs bērna elements automātiski kļūst par elastīgu elementu, izveidojot vienā rindā (pa galveno asi). Šajā gadījumā bloks un mazie elementi izturas vienādi, ti. Bloku platums ir vienāds ar to satura platumu, ņemot vērā elementa iekšējos laukus un rāmjus.


Fig. 3. Izlīdzināšanas elementi Flexbox modelī

Ja mātes bloks satur tekstu vai attēlus bez iesaiņām, tie kļūst par anonīmiem flex elementiem. Teksts izlīdzina konteinera bloka augšējo malu, un attēla augstums kļūst vienāds ar bloka augstumu, ti. Tas ir deformēts.

3. Flex-elementi

Flex-elementi - bloki, kas atspoguļo flex konteinera saturu plūsmā. Flex konteiners izveido jaunu formatēšanas kontekstu tās saturam, kas izraisa šādas funkcijas:

  • Flex elementiem ir bloķēta to displeja īpašuma vērtība. Displeja vērtība: inline bloks; un displejs: galda šūna; aprēķināts displejā: bloks; .
  • Tukša telpa starp elementiem pazūd: tas nekļūst par savu elastīgo elementu, pat ja starp elementu teksts ir iesaiņots anonīmā elastīgā elementā. Lai saturētu anonīmu elastīgo elementu, nav iespējams noteikt savus stilus, bet tas mantos tos (piemēram, fontu parametrus) no Flex konteinera.
  • Absolūti novietots elastīgs elements nepiedalās izkārtojuma izkārtojumā.
  • Margin lauki blakus elastīgie elementi netiek sabrukuši.
  • Procentuālās robežvērtības rezervi un polsterējumu aprēķina no iekšējā izmēra bloka, kas tos satur.
  • margin: Auto; Paplašina, absorbējot papildu vietu atbilstošā mērījumā. Tos var izmantot, lai saskaņotu vai izplatītos blakus esošos elastīgos elementus.
  • Automātiskais minimālais elastīgo elementu izmērs pēc noklusējuma ir minimālais tā satura lielums, tas ir, min-platums: auto; . Ritināšanas konteineriem automātiskais minimālais izmērs parasti ir nulle.

4. Flex-elementi un orientācija

Flex konteinera saturu var sadalīt jebkurā virzienā un jebkurā secībā (flex elementu pārkārtošana konteinera iekšpusē ietekmē tikai vizuālo atveidošanu).

4.1. Galvenā ass virziens: Flex-virziens

Īpašums pieder Flex konteineram. Pārvalda galvenās ass virzienu, pa kuru flex elementi tiek sakrauti, saskaņā ar pašreizējo ierakstīšanas režīmu. Nav mantots.

flex-virziens.
Vērtības:
Rinda Noklusējuma vērtība no kreisās uz labo (RTL pa labi pa kreisi). Flex elementi ir izklāstīti virknē. Galvenās ass sākums (galvenais) un beigu (galvenā gala) virzieni atbilst sākumam (inline-sākums) un beigām (inline-end) no inline ass (inline ass).
Row-Reverse. Virziens pa labi pa kreisi (RTL pa kreisi pa labi). Flex-elementi ir izklāstīti virknē, salīdzinot ar tvertnes labo malu (RTL - pa kreisi).
kolonna. Virzienā no augšas uz leju. Flex elementi ir izklāstīti kolonnā.
Kolonnas-reverse. Kolonna ar elementiem apgrieztā secībā, apakšā uz augšu.
sākotnējs
mantot.

Fig. 4. Flex-virzienā īpašums kreisās uz labo valodu

Sintakse

Flex-konteiners (displejs: -webkit-flex; -webkit-flex virzienā: Rindu atpakaļ; Displejs: Flex; Flex virziens: Rindu atpakaļsavienojums;)

4.2. Vairāku flex konteinera pārvaldība: Flex-wrap

Īpašums nosaka, vai Flex konteiners būs viena līnija vai vairākas līnijas, kā arī šķērso šķērsvirziena asi virzienu, kas nosaka virzienu jaunu elastīgo konteineru līniju virzienu.

Pēc noklusējuma Flex elementi vienā rindā ir sakrauti pa galveno asi. Pārplūdes laikā viņi pārsniedz Flex konteinera robežu rāmi. Īpašums nav iedzimts.


Fig. 5. Multi-straumes pārvaldība, izmantojot LTR-valodās Flex-Wrap īpašības

Sintakse

Flex-konteiners (displejs: -webkit-flex; -webkit-flex-wrap: wrap; displejs: flex; flex-wrap: wrap;)

4.3. Virziena un multiplay kopsavilkums: Flex-Flow

Īpašums ļauj noteikt galveno un šķērsvirzienu asu virzienus, kā arī iespēju pārsūtīt flex elementus, ja nepieciešams vairākām līnijām. Tas ir saīsināts ierakstu flex-virzienā un flex-wrap rekvizītu. Noklusējuma vērtība ir Flex-Flow: rinda nowrap; . Īpašums nav iedzimts.

Sintakse

Flex-konteiners (displejs: -webkit-flex; -webkit-flex-flow: rindas wrap; displejs: Flex; Flex-Flow: rindu wrap;)

4.4. Flex Element Displeja pasūtījums: pasūtījums

Īpašums nosaka kārtību, kādā tiek parādīti flex elementi un atrodas Flex konteinera iekšpusē. Attiecas uz elastīgiem elementiem. Īpašums nav iedzimts.

Sākotnēji visiem Flex elementiem ir pasūtījums: 0; . Nosakot vērtību no -1 elementam, tas pārvietojas uz laika sākumu, vērtību 1 - līdz galam. Ja vairākiem flex elementiem ir tāda pati pasūtījuma vērtība, tie tiks parādīti saskaņā ar sākotnējo pasūtījumu.

Sintakse

Flex-konteiners (displejs: -webkit-flex; displejs: flex;) .flex-postenis (-Webkit rīkojums: 1; Pasūtījums: 1;)
Fig. 6. Flex-Elements displeja pasūtījums

5. Elastīgie flex elementi

Elastīga izkārtojuma noteicošais aspekts ir spēja "saliekt" elastīgus elementus, mainot to platumu / augstumu (atkarībā no tā, kurš lielums ir uz galvenā ass), lai aizpildītu pieejamo vietu galvenajā dimensijā. Tas tiek darīts, izmantojot Flex īpašumu. Flex konteiners izplata brīvo telpu starp tās bērna elementiem (proporcionāli to elastīgajam augošajam koeficientam), lai aizpildītu konteineru vai saspiež tos (proporcionāli elastīgajam saraušanās koeficientu), lai novērstu pārplūdi.

Flex elements būs pilnīgi "neelastīgs", ja tās elastīgā augšana un elastīga saraušanās vērtības ir nulles, un "elastīgs" citādi.

5.1. Elastīgu izmēru komplekts ar vienu īpašumu: Flex

Īpašums ir saīsināts ieraksts par flex-augt, flex-shrink un flex-bāzes īpašībām. Noklusējuma vērtība: Flex: 0 1 Auto; . Jūs varat norādīt gan vienu, gan visas trīs īpašības. Īpašums nav iedzimts.

Sintakse

Flex-konteiners (displejs: -webkit-flex; displejs: flex;) .flex-postenis (-webkit-flex: 3 1 100px; -ms-flex: 3 1 100px; Flex: 3 1 100px;);)

5.2. Augšanas koeficients: Flex-Grow

Īpašums nosaka viena elastīgā elementa augšanas koeficientu attiecībā pret citiem Flex elementiem Flex konteinerā pozitīvas brīvas vietas sadales laikā. Ja Flex-Grow Flex elementu vērtību summa virknē ir mazāka par 1, tās aizņem mazāk nekā 100% no brīvās vietas. Īpašums nav iedzimts.


Fig. 7. Brīvās vietas pārvaldība navigācijas rūtī, izmantojot Flex-Grow

Sintakse

Flex-konteiners (displejs: -Webkit-flex; displejs: flex;) .flex-postenis (-webkit-flex-aug: 3; elastīgs augums: 3;)

5.3. Kompresijas rādītājs: Flex-Shrink

Īpašums norāda uz elastīgā elementa saspiešanas koeficientu attiecībā pret citiem flex elementiem negatīvās brīvās vietas izplatīšanas laikā. Tiek reizināts ar flex-pamata pamata pamata. Negatīvā telpa tiek sadalīta proporcionāli laikam, kad elementu var ragavas, piemēram, neliels elastīgais elements netiks samazināts līdz nullei, līdz elastīgā elements ir ievērojami samazināts. lielāks izmērs. Īpašums nav iedzimts.


Fig. 8. Flex elementu sašaurināšanās virknē

Sintakse

Flex-konteiners (displejs: -webkit-flex; displejs: flex;) .flex-postenis (-webkit-flex-shrink: 3; Flex-shrink: 3;)

5.4. Pamata izmērs: Flex-bāze

Īpašums nosaka flex elementa sākotnējo lielumu pirms brīvas vietas sadales atbilstoši elastīguma koeficientiem. Visām vērtībām, izņemot auto un saturu, pamata elastīgs izmērs ir definēts, kā arī platums horizontālajos ierakstīšanas režīmos. Procentuālās vērtības tiek noteiktas attiecībā pret Flex konteinera lielumu, un, ja izmērs nav norādīts, vērtība, ko izmanto elastīgam, ir tā satura lielums. Nav mantots.

Sintakse

Flex-konteiners (displejs: -Webkit-flex; displejs: flex;) .flex-postenis (-webkit-flex-bāzes: 100px; flex-bāzes: 100px;)

6. saskaņošana

6.1. Saskaņošana uz galvenās ass: attaisno saturu

Īpašums saskaņo elastīgus elementus gar flex-tvertnes galveno asi, izplatot brīvo telpu, neapdzīvo elastīgu elementu. Kad vienums tiek pārvērsts par Flex tvertni, noklusējuma flex elementi ir sagrupēti kopā (ja maržas lauks nav norādīts). Atšķirības pievieno pēc rezerves un elastības vērtību aprēķināšanas. Ja jebkuriem elementiem ir ne-nulles vērtība elastīgu augšanas vai rezervi: auto; Īpašumam nebūs nekādas ietekmes. Īpašums nav iedzimts.

Vērtības:
Flex-start. Noklusējuma vērtību. Flex-elementi ir izklāstīti virzienā nāk no sākotnējās līnijas Flex konteinera.
Flex-end. Flex-elementi ir izklāstīti virzienā, kas nāk no Flex konteinera galīgās līnijas.
Centrs Flex elementi ir izlīdzināti Flex konteinera centrā.
Starp. Flex elementi ir vienmērīgi sadalīti pa līniju. Pirmais elastīgais elements ir novietots sākotnējās līnijas malā, pēdējais elastīgais elements ir izskalot ar gala līnijas malu, un pārējie flex elementi uz līnijas tiek izplatīti tā, lai attālums starp diviem blakus esošiem elementiem ir tas pats. Ja atlikušā brīvā telpa ir negatīvi vai virknē, ir tikai viens flex elements, šī vērtība ir identiska Flex-Starta parametram.
Kosmosa apkārt. Flex-elementi uz līnijām tiek izplatīti tā, lai attālums starp diviem blakus esošiem flex elementiem ir vienāds, un attālums starp pirmajiem / pēdējiem flex elementiem un elastīgā konteinera malām svārstījās no attāluma starp flex elementiem.
sākotnējs Iestata noklusējuma īpašuma vērtību.
mantot. Manto īpašuma vērtību no mātes elementa.

Fig. 9. Elementu un brīvas vietas sadales izlīdzināšana, izmantojot pamatotos satura īpašības

Sintakse

Flex-konteiners (displejs: -webkit-flex; -webkit-attaisnot-saturu: Flex-Start; Displejs: Flex; attaisnot saturu: Flex-Start;)

6.2. Izlīdziniet šķērsvirziena asi: izlīdziniet priekšmetus un izlīdzināt sevi

Flex elementus var izlīdzināt uz šaurās ass pašreizējās līnijas Flex konteinera. Pielāgot vienumus nosaka saskaņošanu visiem Flex-konteineru elementiem, ieskaitot anonīmus flex elementus. ALOW-SELF ļauj ignorēt šo izlīdzināšanu atsevišķiem flex elementiem. Ja kāds no šķērsvirziena margin elastīgā elementa ir automātiska, saskaņot-sevi nav nekādas ietekmes.

6.2.1. Izlīdzināt vienumus.

Īpašums izlīdzina flex elementus, tostarp anonīmus elastīgus elementus šķērsvirziena asij. Nav mantots.

Vērtības:
Flex-start.
Flex-end.
Centrs
Bāzes līnija Visu saskaņošanas elementu pamatlīnijas sakrīt.
Stiept.
sākotnējs Iestata noklusējuma īpašuma vērtību.
mantot. Manto īpašuma vērtību no mātes elementa.
Fig. 10. Elementu saskaņošana vertikālā traukā

Sintakse

FLEX-CONTAINER (displejs: -Webkit-flex; -webkit-vienības: Flex-Start; Displejs: Flex; Saskaņot vienumus: Flex-Start;)

6.2.2. Izlīdzināt sevi.

Īpašums ir atbildīgs par atsevišķa elastīgā elementa saskaņošanu elastīgā konteinera augstumā. Ignorē izlīdzināšanu, ko noteikusi izlīdzināt vienības. Nav mantots.

Vērtības:
Auto. Noklusējuma vērtību. Flex elements izmanto izlīdzināšanu, kas norādīta izlīdzināt vienības elastīgā konteinera īpašumā.
Flex-start. Flex elementa augšējā mala ir cieši saistīta ar FLEX līniju (vai attālumā, ņemot vērā norādītās maržas laukus un elementa robežu sistēmu) šķērsojot šķērsvirziena asi.
Flex-end. Flex elementa apakšējā mala ir cieši saistīta ar FLEX līniju (vai attālumā, ņemot vērā norādītos maržas laukus un elementa robežu sistēmu) šķērso šķērsvirziena asi.
Centrs Flex Element lauki ir centrēti uz šķērsvirziena ass elastīgā līnijā.
Bāzes līnija Flex elements ir saskaņots ar bāzes līniju.
Stiept. Ja elastīgā elementa šķērsvirziena lielums tiek aprēķināts kā auto, un neviens no maržas šķērsvirziena vērtības nav vienādas ar auto, elements ir izstiepts. Noklusējuma vērtību.
sākotnējs Iestata noklusējuma īpašuma vērtību.
mantot. Manto īpašuma vērtību no mātes elementa.

Fig. 11. Atsevišķu flex elementu saskaņošana

Sintakse

Flex-konteiners (displejs: -webkit-flex; displejs: flex;) .flex-postenis (-Webkit-align-self: centrs; saskaņot-self: centrs;)

6.3. Flex konteineru līnijas: izlīdzināt saturu

Īpašuma līnijas līnijas Flex tvertnē klātbūtnē papildu vietas uz šķērsvirziena asi, līdzīgi, lai saskaņotu atsevišķi elementi Uz galvenā ass, izmantojot attaisnot-satura īpašumu. Īpašums neietekmē viena līnijas flex konteineru. Nav mantots.

Vērtības:
Flex-start. Rindas tiek glabātas uz Flex konteinera sākumā. Pirmās rindas mala atrodas tuvu elastīgā konteinera malai, katrs nākamais - tuvu iepriekšējā rindā.
Flex-end. Rindas tiek likts uz Flex konteinera galu. Pēdējās rindas mala atrodas tuvu elastīgā konteinera malai, katrs iepriekšējais - tuvu nākamajai rindai.
Centrs Rindas tiek glabātas uz Flex konteinera centru. Rindas atrodas tuvu viens otram un izlīdzina flex-tvertnes centrā ar vienādu attālumu starp Flex konteinera satura sākotnējo malu un pirmo virkni un starp Flex konteinera satura galīgo malu un pēdējā virkne.
Starp. Rindas ir vienmērīgi sadalītas Flex konteinerā. Ja atlikušā brīvā telpa ir negatīva vai Flex konteineram ir tikai viena flex līnija, šī vērtība ir identiska Flex-Start. Pretējā gadījumā pirmās līnijas mala ir tuvu flex-tvertnes satura sākotnējai malai, pēdējās rindas mala ir tuvu Flex konteinera satura galīgajai malai. Atlikušās līnijas tiek izplatītas tā, lai attālums starp divām blakus esošām rindām ir vienāda.
Kosmosa apkārt. Rindas ir vienmērīgi sadalītas Flex tvertnē ar pusi telpu abos galos. Ja atlikušā brīvā telpa ir negatīva, šī vērtība ir identiska centra centram. Pretējā gadījumā virknes tiek izplatītas tā, lai attālums starp divām blakus esošām rindām ir vienāda un attālums starp pirmajām / pēdējām rindām un elastīgā konteinera satura malām svārstījās no attāluma starp līnijām.
Stiept. Noklusējuma vērtību. Flex elementu rindas ir vienmērīgi izstieptas, aizpildot visu pieejamo vietu. Ja atlikušā brīvā telpa ir negatīva, šī vērtība ir identiska Flex-Start. Pretējā gadījumā brīvā telpa tiks sadalīta vienādi starp visām rindām, palielinot to šķērsvirziena lielumu.
sākotnējs Iestata noklusējuma īpašuma vērtību.
mantot. Manto īpašuma vērtību no mātes elementa.
Fig. 12. Flex elementu vairāku līniju izlīdzināšana

Sintakse

Flex-konteiners (displejs: -webkit-flex; -webkit-flex-flow: rindas wrap; -webkit-izlīdzināt saturu: flex-end; displejs: Flex; Flex-Flow: rindu wrap; izlīdzināt saturu: Flex-End ; Augstums: 100px;)

Flexbox izkārtojuma modulis (elastīgs kaste) mērķis ir nodrošināt vairāk nekā efektīva metode Brīvās vietas atrašanās vieta, izlīdzināšana un izplatīšana starp tvertnes elementiem, pat ja to izmērs nav zināms iepriekš un / vai dinamisks (tāpēc vārds "Flex").

Elastīgas (Flex) iezīmēšanas pamatideja ir nodrošināt konteineru ar spēju mainīt tās elementu platumu / augstumu (un kārtību), lai labākais veids Aizpildiet pieejamo vietu (galvenokārt izvietošanai visos ekrānu veidos un izmēros). Flexbox konteiners paplašina elementus, lai aizpildītu brīvu vietu vai saspiež tos, lai izvairītos no pārplūdes.

Vissvarīgākais ir tas, ka Flexbox ir virziena agnostiķis pretstatā parastajiem izkārtojumiem (bloki, kuru pamatā ir vertikāli pozicionēšanas un virknes elementi, kas balstīti uz horizontālo pozicionēšanu). Neskatoties uz to, ka viņi strādā pietiekami labi, viņiem trūkst elastības, lai atbalstītu lielus vai sarežģītus pieteikumus (jo īpaši attiecībā uz izmaiņām orientācijā, izmaiņām lieluma, stiepšanās, saspiešanas, uc).

Piezīme. FlexBox ir vairāk piemērots lietojumprogrammu komponentiem un maziem izkārtojumiem, bet CSS Grid ir paredzēts lielākiem izkārtojumiem.

Pamati un terminoloģija

Tā kā Flexbox ir viss modulis, nevis atsevišķs īpašums, tajā ir daudz dažādu lietu, tostarp visa īpašību kopums. Daži no tiem ir izstrādāti, lai uzstādītu to konteineru (mātes elements, kas pazīstams kā "Flex konteiners"), bet citi ir jāuzstāda ar bērnu elementiem (pazīstami kā "Flex elementi").

Ja parastā izkārtojuma sistēma ir balstīta uz bloku un stīgu virzieniem, FlexBox ir balstīta uz "Flex-Flow Directions". Lūdzu, apskatiet šo zīmējumu no specifikācijas, kas izskaidro flexbox pamatideju.

Būtībā elementi atradīsies kopā galvenā ass (no galvenā sākuma līdz galvenajam) vai krusta ass (no savstarpējas sākuma līdz krustenim).

Atbalsta pārlūkprogrammas

CSS elastīgs kastes izkārtojuma modulis

Chrome Android

Browser BlackBerry Sākot ar 10 versiju, atbalsta jaunu sintaksi.

Konteinera īpašības

Elementu īpašības

Properties mātes elementa (Flex konteiners)

displejs.

Nosaka flex konteineru; Virkne vai bloks ir atkarīga no pārraidītās vērtības. Ietver elastīgu kontekstu visiem tās tiešajiem, bērnu elementiem.

Konteiners (displejs: Flex; / * vai Interline-Flex * /)

Lūdzu, ņemiet vērā, ka CSS kolonnas neietekmē Flex konteineru.

flex-virziens.


Iestata galveno asi, tādējādi nosaka konteinerā esošo elementu virzienu. Flexbox (papildus papildu iesaiņošanai) ir vienvirziena izkārtojuma jēdziens. Domājiet par elastīgiem elementiem, galvenokārt kā horizontālas līnijas vai vertikālie skaļruņi.

Konteiners (Flex virzienā: rinda | ROW-Reverse | kolonna | kolonnas-Reverse;)

  • rinda (noklusējums) - no kreisās uz labo pusi LTR; Tiesības uz kreiso RTL;
  • row-Reverse. - tiesības uz kreiso LTR; No kreisās uz labo RTL;
  • kolonna. - tas pats ir šī rinda, tikai no augšas uz leju;
  • kolonnas-reverse. - tas pats ir rindu apgrieztā, tikai no apakšas uz augšu;

flex-wrap.


Pēc noklusējuma vienumi mēģinās aizpildīt tikai vienu līniju. Jūs varat mainīt šo uzvedību un ļaut vienumus pārnest uz nākamo rindu, ja nepieciešams.

Konteiners (Flex-Wrap: Nowrap | Wrap | Wrap-Reverse;)

  • nowrap (noklusējums) - visi flex elementi atradīsies vienā rindā;
  • wrap. - Flex elementi atradīsies vairākās līnijās, uz leju;
  • wrap-reverse. - Flex elementi atradīsies vairākās līnijās, augšupējā;

pamatot saturu


Nosaka saskaņošanu pa galveno asi. Tas palīdz izplatīt brīvo telpu, kas paliek pēc tam, kad visi fiksēti un nav fiksēti platumā Flex elementi ir sasnieguši maksimālo lielumu. Tas arī palīdz veikt dažas kontroles pār elementu izlīdzināšanu, kad tās pārpilda virkni.

Konteiners (pamatot saturu: Flex-Start | Flex-End | Centrs | Kosmoss starp | telpu;)

  • flex-Start (noklusējums) - elementi tiek nospiesti līnijas sākumā;
  • flex-end. - elementi tiek nospiesti virknes beigās;
  • centrs - elementi atrodas centrā pa virkni;
  • starp. - elementi tiek novietoti vienmērīgi uz līnijas; Pirmais elements ir līnijas sākumā, pēdējais elements Atrodas līnijas beigās;
  • kosmosa apkārt. - Elementi tiek novietoti vienmērīgi uz līnijas ar to pašu telpu tuvu tiem. Lūdzu, ņemiet vērā, ka vizuāli telpa nav vienāda, jo visiem elementiem ir vienāda telpa abās pusēs. Pirmajam elementam būs viena atstarpes vienība no konteinera puses, bet divas vienības starp to un nākamo elementu, jo nākamajam elementam ir viena vienība no divām pusēm.

izlīdzināt vienumus.


Šis īpašums nosaka uzvedību flex elementu gar šķērsvirziena ass pašreizējā līnijā. Domājiet par to kā O, tikai šķērsvirziena asij (perpendikulāra galvenā ass).

Konteiners (izlīdzināt vienības: Flex-Start | Flex-End | Center | Bāzes līnija | stiept;)

  • flex-start - Elementi atrodas šķērsvirziena ass sākumā;
  • flex-end - Elementi atrodas šķērsvirziena asas beigās;
  • centru - Elementi atrodas šķērsvirziena ass centrā;
  • bāzes līnija - elementi ir saskaņoti ar bāzes līniju;
  • stiept (noklusējums) - stiept, lai aizpildītu visu konteineru (joprojām tiek novērots min-platums / maksimālais platums);

izlīdzināt saturu


Piezīme. Šis īpašums nedarbojas, ja ir tikai viena līnija flex elementiem.

Konteiners (saskaņotais saturs: Flex-Start | Flex-End | Centrs | Space-starp | Space-apkārt | Stretch;)

  • flex-start. - rindas atrodas konteinera sākumā;
  • flex-end. - līnijas atrodas konteinera galā;
  • centrs - rindas atrodas konteinera centrā;
  • starp. - rindas tiek sadalītas vienmērīgi, pirmā līnija atrodas konteinera sākumā, un pēdējā līnija beigās;
  • kosmosa apkārt. - rindas tiek sadalītas vienmērīgi, ar tas pats attālums starp viņiem;
  • stiept (noklusējums) - rindas ir izstiepts pāri platumam, lai ieņemtu atlikušo telpu;

Īpašumi meitasuzņēmumiem (flex elementi)

rīkojums


Pēc noklusējuma visi elementi atrodas sākotnējā secībā. Tomēr pasūtījuma īpašums pārvalda pasūtījumu, kurā atrodas konteinera elementi.

Vienums (pasūtījums: ; }

fleks-augt.


Īpašums nosaka spēju palielināt izmēra elementu, ja nepieciešams. Tas aizņem dimensiju vērtību kā proporciju, kas nosaka, kā brīvās vietas apjomā konteinerā ir ieņem elementu.

Ja visiem elementiem ir uzstādīts elastīgs īpašums, kas uzstādīts 1, tad brīvā telpa konteinera iekšpusē vienmērīgi sadalās starp visiem elementiem. Ja viens no elementiem vērtība ir iestatīta uz 2, elements būs divreiz vairāk vietas nekā pārējais (vismaz mēģināt).

Vienums (Flex-Grow: ; / * Noklusējums 0 * /)

Nav iespējams norādīt negatīvus skaitļus.

flex-pamats.

Nosaka noklusējuma elementa lielumu pirms atlikušās vietas sadalījuma. Tas var būt garums (20%, 5rem utt.) Vai atslēgvārds. Auto atslēgvārds nozīmē "izskatās mans platums vai augstuma īpašums". Satura atslēgvārds nozīmē, ka "lielums ir balstīts uz elementa saturu" ir atslēgvārds vēl nav ļoti labi atbalstīts, tāpēc ir grūti to pārbaudīt, un vēl grūtāk noskaidrot, kas padara viņa min-saturu, max- Saturu un fit-saturu.

Vienums (standarts: | Auto; / * noklusējuma auto * /)

Ja iestatīts uz 0, tad papildu telpa ap saturu netiks ņemta vērā. Ja instalējat Auto, papildu telpa tiks izplatīta, pamatojoties uz vērtību.

flex

Tas ir samazinājums, un. Otrie un trešie parametri (Flex-Shrink un Flex-bāzes) nav obligāti. Noklusējuma vērtība ir iestatīta uz 0 1 Auto.

Vienums (Flex: neviens | [<"flex-grow"> <"flex-shrink">? || <"flex-basis"> ] }

izlīdzināt sevi.


Šis īpašums ļauj ignulēt noklusējuma izlīdzināšanu (vai norādot, izmantojot īpašumu) atsevišķiem flex elementiem.

Lūdzu, apskatiet īpašību skaidrojumu, lai izprastu pieejamās vērtības.

Vienums (ALOW-SELF: Auto | FLEX-START | FLEX-END | Centrs | Bāzes līnija | stiept;)

Lūdzu, ņemiet vērā, ka pludiņa, skaidra un vertikālā izlīdzināšana nav nekādas ietekmes uz elastīgo elementu.

Piemēri

Sāksim ar vienkāršs piemērsIzšķirošais uzdevums, kas notiek gandrīz katru dienu: perfektu centrēšanu. Tas nevar būt kaut kas vieglāk, ja lietojat Flexbox.

Vecāki (displejs: flex; Augstums: 300px;) .Child (platums: 100px; Augstums: 100px; Margin: Auto;)

Tas ir atkarīgs no tā, ka telpa, kas uzstādīta Auto Flex konteinerā, absorbē papildu vietu. Tādējādi uzstādīšana vertikālā rezerve auto pie vienuma padarīs objektu perfekti vērsta uz abām asīm.

Tagad pieņemsim izmantot dažas vairāk īpašības. Apsveriet sarakstu ar 6 elementiem, visi ar fiksētu izmēru estētiskajos ziņā, bet tie var būt automātiski. Mēs vēlamies, lai tie vienmērīgi sadalīti pa horizontālo asi un ka, mainot pārlūkprogrammas lielumu, viss bija kārtībā (bez mediju pieprasījumiem!).

Flex-konteiners (displejs: Flex; Flex-Flow: rindas wrap; pamatot-saturu: kosmosa apkārt;)

Gatavs! Viss pārējais ir tikai dažas dizaina problēmas. Zemāk ir piemērs kodeksēnam, pārliecinieties, ka tur iet un mēģiniet mainīt logu lielumu, lai redzētu, kas notiek.

Izmēģināsim kaut ko citu. Iedomājieties, ka mums ir navigācija, kas atrodas labajā malā ekrāna augšdaļā, bet mēs vēlamies, lai tas atrodas vidējā izmēra ekrānos un vienā kolonnā uz maziem ekrāniem. Tik vienkārši kā pīrāgs.

Navigācija (displejs: Flex; Flex-Flow: rindas wrap; attaisnot saturu: Flex-end;) @media visu un (max-platums: 800px) (.. un (max-platums: 500px) (.Navigācija (Flex virziens: kolonna;)

Mēģināsim kaut ko darīt vēl labāk, spēlējot ar elastīgumu mūsu flex elementiem! Kas par trīs-hone mobilo pirmo izkārtojumu ar vāciņu un kājeni uz visu ekrāna platumu, un ka nav atkarīga no elementu sākotnējā secībā.

Wrapper (displejs: Flex; Flex-Flow: rindu wrap;) .Header, .main, .nav, .aside, (Flex: 1 Auto;)) @Media All un (min-platums: 800px) (.main (Flex: 2 0px;) .Aside-1 (Pasūtījums: 1;) .main (Pasūtījums: 2;). 2 (Pasūtījums: 3;) .footer (Pasūtījums: 4;))

Saistītās īpašības

Kļūdas

Protams, FlexBox nav bez kļūdām. Labākā kolekcija, ko es redzēju, pārstāv Philip Walton un Greg Whitworth "S FLEXBUGS. Tas ir atvērtā pirmkoda vieta, lai izsekotu visas kļūdas, tāpēc es domāju, ka vislabāk ir vienkārši atstāt saiti.

Pasūtījuma īpašums pārvalda pasūtījumu, kurā bērna elementi parādās Flex konteinerā. Pēc noklusējuma tie atrodas secībā, kā sākotnēji pievienots Flex konteineram.

Vērtības

.flex-postenis (pasūtījums:<целое число>; }

flex elementus var pārkārtot, izmantojot šo vienkāršo īpašumu, nemainot HTML kodu.

Noklusējuma vērtība: 0.

fleks-augt.

Šis īpašums nosaka izaugsmes koeficientu, kas nosaka, cik tālu elastīgā elements pieaugs salīdzinājumā ar atlikušajiem flex elementiem Flex konteinerā, sadalot pozitīvu brīvu vietu.

Vērtības

.flex-postenis (Flex-Grow:<число>; }

Ja visiem elastīgajiem elementiem ir tāda pati elastīga augoša vērtība, visiem elementiem būs tāds pats izmērs konteinerā.

Otrais elastīgais elements aizņem vairāk vietas attiecībā pret citu flex elementu lielumu.

Noklusējuma vērtība: 0.

izliekums

flex-shrink nosaka kompresijas koeficientu, kas nosaka, cik tālu elastīgā elements tiks saspiests attiecībā pret atlikušajiem elastīgajiem elementiem Flex konteinerā, negatīvās brīvas vietas izplatīšanas laikā.

Vērtības

.flex-postenis (Flex-Shrink:<число>; }

Pēc noklusējuma visi Flex elementi var saspiest, bet, ja mēs uzstādīsim Flex-shrink vērtību nulle (bez saspiešanas), tad elementi saglabā sākotnējo izmēru.

Noklusējuma vērtība: 1.

Negatīvie skaitļi ir nepieņemami.

flex-pamats.

Šis īpašums ņem tādas pašas nozīmes kā platuma un augstuma īpašības, un nosaka sākotnējo galveno izmēru Flex elementa, pirms brīvās vietas tiek izplatīta saskaņā ar koeficientiem.

Vērtības

.flex-postenis (pamatojums: Auto |<ширина>; }

flex-pamats ir norādīts ceturtajam flex elementam un nosaka tā sākotnējo lielumu.

Noklusējuma vērtībaAuto.

flex

Šis īpašums ir samazinājums par Flex-Grow, Flex-Shrink un Flex-bāzes īpašībām. Citu vērtību ražu var uzstādīt arī automātisko (1 1 auto) un neviens (0 0 Auto).

Vērtības

.flex-postenis (Flex: neviens | Auto | [ ? || ]; }

Noklusējuma vērtība: 0 1 Auto.

W3C iesaka izmantot saīsināto elastīgo īpašumu, nevis atsevišķas īpašības, jo flex pareizi atiestata jebkādus nenoteiktus komponentus tipiskai lietošanai.

izlīdzināt sevi.

ALOW-PAŠU ĪPAŠUMS ļauj ignulēt noklusējuma izlīdzināšanu (vai vērtību, kas norādīta, izmantojot izlīdzināt vienumus) atsevišķiem flex elementiem. Lai saprastu pieejamās vērtības, skatiet Flex konteinera izlīdzināšanas priekšmetu aprakstu.

Vērtības

.flex-postenis (ALOL-SELF: Auto | Flex-Start | Flex-End | Centrs | Bāzes līnija | stiept;)

Par trešo un ceturto flex elementi, saskaņošana ir ignorēta caur izlīdzināt-pašmāju īpašumu.

Modulis Flexbox-Leuauta (Elastīgs kaste - "elastīgs bloks", ieslēgts Šis brīdis W3C kandidātu ieteikums) liek uzdevumam piedāvāt efektīvāku veidu, kā ievietot, izlīdzināt un izplatīt brīvo vietu starp tvertnes elementiem, pat ja to lielums nav zināms un / vai dinamisks (līdz ar to vārds "elastīgs").

Galvenā ideja Flex-Guard tvertnē apveltīta ar spēju mainīt platumu / augstumu (un kārtību) tās elementiem, lai vislabāk pildītu telpu (vairumā gadījumu - lai atbalstītu visu veidu displejus un ekrānu izmēru ). Flex konteiners stiepjas elementus, lai aizpildītu brīvu vietu vai saspiež tos, lai novērstu robežu ārā.

Vissvarīgākais, Flexbox-Leiut nav atkarīgs no virziena, atšķirībā no parastajiem Leantiem (blokiem, kas atrodas vertikāli, un inline elementi ir horizontāli). Lai gan parastā Leiaut ir lieliska tīmekļa lapām, tai trūkst elastības (bez kanalizācijas), lai atbalstītu lielus vai sarežģītus lietojumus (jo īpaši, lai mainītu ekrāna orientāciju, izmēru maiņu, stiepšanos, saspiešanu utt.).

Piezīme: Flexbox-Leuaout vislabāk piemērota lietojumprogrammas un maza leuautics daļām, bet režģis ir vairāk izmantots Laisi liela mēroga.

Pamati

Jo Flexbox ir viss modulis, nevis tikai viens īpašums, tas apvieno daudzas īpašības. Daži no tiem būtu jāpiemēro konteineram (mātes elements, tā sauktais flex konteiners), bet citas īpašības attiecas uz bērnu elementiem, vai flex elementi.

Ja parastais Leuaout ir balstīts uz bloku un inline elementu virzieniem, Flex-Liatavs ir balstīts uz "Flex plūsmas virzieniem". Pārbaudiet šo shēmu no specifikācijas, kas izskaidro Fleauitov pamatideju.

Lielākā daļa elementu tiks sadalīti kopā galvenā ass (no galvenais sākums. agrāk galvenais elements.) vai kopā šķērsvirziena ass (no krustojums. agrāk krustojums.).

  • galvenais ass - galvenā ass, kurā atrodas elastīgi elementi. Piezīme, tas ne vienmēr ir horizontāls, tas viss ir atkarīgs no fleks-virziena īpašuma (skatīt zemāk).
  • galvenais sākums. | galvenais elements. - Flex elementi tiek ievietoti konteinerā no galvenā sākuma pozīcijas uz galveno gala stāvokli.
  • galvenais izmērs. - Flex elementa platums vai augstums atkarībā no izvēlētās primārās vērtības. Galvenā vērtība var būt vai nu platums vai elementa augstums.
  • Šķērsgriezums. - šķērsvirziena ass, kas ir perpendikulāra galvenajam. Tās virziens ir atkarīgs no galvenās ass virziena.
  • krustojums. | krustojums. - Flex rindas ir piepildītas ar elementiem un atrodas konteinerā no krustveida starta pozīcijas uz šķērsgriezuma pozīciju.
  • krustošanās lielums - Flex elementa platums vai augstums atkarībā no izmēra izmēra ir vienāda ar šo lielumu. Šis īpašums sakrīt ar platumu vai augstumu vienības atkarībā no izmēra izmēra.

Īpašības

displejs: Flex | Inline-flex;

Tas attiecas uz:

Nosaka Flex konteineru (inline vai bloku, atkarībā no izvēlētās vērtības), savieno elastīgo kontekstu visiem tās tuvākajiem pēcnācējiem.

Displejs: citas vērtības | Flex | Inline-flex;

Paturi prātā:

  • CSS kolonnas nedarbojas ar elastīgu konteineru
  • peldēšana, skaidra un vertikālā izlīdzināšana nedarbojas ar flex elementiem

flex-virziens.

Tas attiecas uz: Vecāku elements Flex-konteiners.

Iestata galvenās ass galveno asi, tādējādi nosakot konteinerā ievietoto flex elementu virzienu.

Flex virziens: rinda | Row-Reverse | Kolonna | Kolonnas-reverse.
  • rinda (noklusējums): no kreisās uz labo pusi uz LTR, pa labi, lai pa kreisi uz RTL;
  • row-Reverse: pa labi pa kreisi ltr, no kreisās uz labo RTL;
  • kolonna: līdzīga rindai, uz leju;
  • kolonna-Reverse: Līdzīgi kā Row-Reverse, apakšā uz augšu.

flex-wrap.

Tas attiecas uz: Vecāku elements Flex-konteiners.

Nosaka, vai konteiners būs viena līnija vai vairākas līnijas, kā arī šķērsvirziena ass virziens, kas nosaka virzienu, kurā tiks izvietotas jaunas līnijas.

Flex-Wrap: Nowrap | Wrap | Wrap-reverse.
  • nowrap (noklusējums): viena līnija / no kreisās uz labo pusi uz LTR, pa labi uz kreiso pusi uz RTL;
  • wrap: Multi-line / no kreisās uz labo pusi LTR, pa labi, lai pa kreisi uz RTL;
  • wrap-Reverse: Multi-line / pa labi pa kreisi LTR, no kreisās uz labo RTL.

elastīga plūsma.

Tas attiecas uz: Vecāku elements Flex-konteiners.

Tas ir flex virziena un flex-wrap īpašību samazinājums, kas kopā definē galveno un šķērsvirzienu asi. Noklusējums ņem vērtību no rindas nobīdes.

Flex-Flow:<"flex-direction" > || <"flex-wrap" >

Tas attiecas uz: Vecāku elements Flex-konteiners.

Nosaka saskaņošanu attiecībā pret galveno asi. Palīdz izplatīt atlikušo brīvo vietu gadījumā, ja līnijas elementi nav "stiepjas", vai stiept, bet jau ir sasnieguši maksimālo lielumu. Ļauj kaut kādā veidā kontrolēt elementu izlīdzināšanu, kad virkne tiek atbrīvota.

: Flex-Start | Flex-end | Centrs | Telpu starp | Kosmosa apkārt.
  • fLEX-START: elementi tiek pārvietoti uz līnijas sākumu;
  • flex-end: elementi tiek pārvietoti pēc virknes beigām;
  • centrs: elementi ir saskaņoti līnijas centrā;
  • telpu starp: elementi tiek sadalīti vienmērīgi (pirmais elements līnijas sākumā, pēdējais - beigās);
  • kosmosa ap: Elements tiek sadalīts vienmērīgi ar vienādu attālumu starp sevi un robežām virknes.

Tas attiecas uz: Vecāku elements Flex-konteiners.

Nosaka noklusējuma uzvedību Flex Elements ir attiecībā pret šķērsvirziena asi pašreizējā rindā. Apsveriet šo versiju, kas attaisno šķērsvirziena asi (perpendikulāri galvenajam).

: Flex-Start | Flex-end | Centrs | Bāzes līnija | Stiept.
  • flex-Start: krusta starta robeža vienumiem atrodas uz starta stāvoklī;
  • flex-end: krusteniskā robeža vienumiem atrodas krustveida pozīcijā;
  • centrs: elementi ir saskaņoti šķērsvirziena ass centrā;
  • bāzes līnija: elementi ir saskaņoti par to bāzes līniju;
  • stiept (noklusējums): elementi ir izstiepti, aizpildot tvertni (ņemot vērā min-platuma / maksimālo platumu).

Tas attiecas uz: Vecāku elements Flex-konteiners.

Saskaņo flex konteineru līnijas klātbūtnē brīvas vietas uz šķērsvirziena ass, tādā pašā veidā, kā attaisnojums-saturs dara uz galvenās ass.

Piezīme: Šis īpašums nedarbojas ar viena līnijas flexbox.

: Flex-Start | Flex-end | Centrs | Telpu starp | Kosmosa apkārt | Stiept.
  • flex-Start: līnijas ir saskaņotas attiecībā pret tvertnes sākumu;
  • flex-end: rindas ir saskaņotas attiecībā pret konteinera galu;
  • centrs: rindas ir saskaņotas konteinera centrā;
  • kosmosa starp: rindas tiek sadalītas vienmērīgi (pirmā rinda sākumā līnijas, tā ir beigās);
  • space-apkārt: rindas tiek sadalītas vienmērīgi ar vienādu attālumu;
  • stiept (noklusējums): rindas ir izstiepts, aizpildot brīvu vietu.

rīkojums

Tas attiecas uz:

Pēc noklusējuma Flex elementi atrodas tās sākotnējā secībā. Tomēr pasūtījuma īpašums var kontrolēt to atrašanās vietas secību konteinerā.

Pasūtījums:<integer\u003e

fleks-augt.

Tas attiecas uz: Meitas elements / elastīgs elements.

Nosaka Flex Element spēju "augt", ja nepieciešams. Ņem indeksētu vērtību, kas kalpo kā proporcija. Tas nosaka, kāda daļa no brīvas vietas iekšpusē konteinera elements var ieņemt.

Ja visiem priekšmetiem ir Flex-augt īpašums kā 1, tad katrs pēcnācējs saņems tādu pašu izmēru konteinera iekšpusē. Ja jūs iestatāt vienu no pēcnācējiem uz 2, tad tas prasīs divas reizes vairāk vietas nekā citi.

Flex-Grow:<numurs\u003e (noklusējums 0)

izliekums

Tas attiecas uz: Meitas elements / elastīgs elements.

Flex elementam nosaka spēju saspiest, ja nepieciešams.

Flex-shrink: (Noklusējums 1)

Negatīvie skaitļi netiek pieņemti.

flex-pamats.

Tas attiecas uz: Meitas elements / elastīgs elements.

Nosaka elementa noklusējuma lielumu pirms telpas izplatīšanas tvertnē.

Flex - pamats:<garums\u003e. | Auto (noklusējuma auto)

flex

Tas attiecas uz: Meitas elements / elastīgs elements.

Tas ir flex-augt, flex-shrink un flex-pamata samazinājums. Otrais un trešais parametri (Flex-Shrink, Flex-bāzes) ir obligāti. Noklusējuma vērtība ir 0 1 Auto.

Flex: neviens | [<"flex-grow" > <"flex-shrink" >? || <"flex-basis" > ]

izlīdzināt sevi.

Tas attiecas uz: Meitas elements / elastīgs elements.

Ļauj ignulēt noklusējuma izlīdzināšanu vai izlīdzināt vienumus atsevišķiem flex elementiem.

Skatiet aprakstu par vienību īpašumu, lai labāk izprastu pieejamās vērtības.

ALOW-SELF: Auto | Flex-Start | Flex-end | Centrs | Bāzes līnija | Stiept.

Piemēri

Sāksim ar ļoti, ļoti vienkāršu piemēru, kas notiek gandrīz katru dienu: saskaņošana tieši centrā. Ja izmantojat Flexbox, nav nekas vieglāk.

.Parpent (displejs: Flex; Augstums: 300px; / * Vai kaut kas * / ) .Child (platums: 100px; / * Vai kaut kas * / Augstums: 100px; / * Vai kaut kas * / Margin: Auto; / * Magic! * /)

Šis piemērs ir balstīts uz faktu, ka rezerve elastīgā konteinerā, kas norādīta kā automātiska absorbē nevajadzīgo telpu, tāpēc atsauces uzdevums tādējādi virzās uz elementu tieši abu asu centrā.

Tagad pieņemsim izmantot dažas īpašības. Iesniedziet 6 fiksēto izmēru elementu komplektu (skaistumam), bet ar spēju mainīt konteinera lielumu. Mēs vēlamies tos vienmērīgi izplatīt horizontāli, lai, kad pārlūkprogrammas logs ir mainīts, viss izskatījās labi (bez @ multivides ierakstītāja!).

.flex-tvertne ( / * Vispirms izveidojiet flex-kontekstu * / Displejs: Flex; / * Tagad mēs definēsim plūsmas virzienu un vai mēs vēlamies, lai elementi tiktu pārsūtīti uz jaunu virkni * Atcerieties, ka tas ir tāds pats kā: * Flex virziens: rinda; * Flex-wrap: wrap; * Flex-Flow: rindu wrap; / * Tagad mēs definējam, kā telpa * / : Kosmosa apkārt; )

Gatavs. Viss pārējais ir reģistrācijas jautājums. Zemāk atrodas Codepen, kas parāda šo piemēru. Noteikti mēģiniet izstiepties / izspiest pārlūkprogrammas logu un redzēt, kas notiek.

Pārbaudiet šo pildspalvu!

Izmēģināsim kaut ko citu. Iedomājieties, ka labajā malā ir vajadzīga navigācija mūsu vietnes augšpusē, bet mēs vēlamies, lai tā saskaņotu vidēja izmēra ekrānu centrā un pārvērtās vienā kolonnā uz maziem. Viss ir pietiekami vienkāršs.

/ * Lielie ekrāni * / .Navigācija (displejs: Flex; Flex-Flow: rindu wrap; / * Pārvieto elementus līdz līnijas beigām uz galvenā ass * / : Flex-end; ) @Media visi un (max-platums: 800px) (.Navigācija ( / * Vidēja izmēra ekrāniem, mēs saskaņojam navigāciju centrā, vienmērīgi sadalot brīvo telpu starp elementiem * / : Kosmosa apkārt; )) / * Maz ekrāni * / @Media All and (Max-platums: 500px) (.Navigācija ( / * Uz maziem ekrāniem, nevis virknes, mums ir elementi kolonnā * / Flex virziens: kolonna; )) Pārbaudiet šo pildspalvu!

Izmēģināsim kaut ko labāku un spēlēt ar elastīgumu elastīgumu! Kā par orientētu uz mobilās ierīces Trīs chone izkārtojums ar pilnu vāciņu un pagrabu? Un citu atrašanās vietu.

.Wrapper (displejs: Flex; Flex-Flow: rindu wrap;) / * Mēs norādām visus 100% platuma elementus * / .Header, .main, .nav, .astide, .footer (Flex: 1 100%;) / * Šajā gadījumā mēs paļaujamies uz oriģinālo orientācijas orientāciju uz * mobilajām ierīcēm: * 1. Galvene * 2. NAV * 3. Galvenais * 4. Atmatā * 5. Kājene * / / * Vidēja izmēra ekrāni * / @Media visu un (min-platums: 600px) ( / * Abi SageBar atrodas vienā rindā * / .Aside (Flex: 1 auto;)) / * Lielie ekrāni * / @Media visiem un (min-platums: 800px) ( / * Mēs mainām vietas elementus.Aside-1 i.main, un informējiet * element.main divas reizes vairāk vietas nekā sidbars. * .main (Flex: 2 0px;) .Aside-1 (Pasūtījums: 1;) .main (Pasūtījums: 2;) .Fotide-2 (Pasūtījums: 3;) .footer (Pasūtījums: 4;)))

Ja jūs sakāt īsu, tad izkārtojums ar Flexbox dod mums vienkāršus risinājumus, kad ir sarežģīti uzdevumi. Piemēram, ja jums ir nepieciešams saskaņot vertikālo elementu, vai nospiediet pagrabu uz ekrāna apakšdaļu vai vienkārši ievietojiet vairākus blokus vienā rindā, lai viņi aizņemtu visu brīvo telpu. Šādi uzdevumi tiek atrisināti bez flex. Bet parasti šie risinājumi ir līdzīgāki "kruķiem" - pieņemšanas CSS izmantošana nav paredzēta. Tā kā ar Flexbox, šie uzdevumi tiek atrisināti tieši tā, kā Flex modelis domā.

CSS elastīgs kastes izkārtojums modulis (CSS modulis moduļiem ar elastīgiem blokiem), īsu elastīgu kaste, kas izveidota, lai noņemtu trūkumus, veidojot dažādas HTML struktūras, tostarp pielāgotas dažādos platumos un augstumā, un veikt loģisku un vienkāršu izkārtojumu. Un loģiskā pieeja, kā likums, darbojas negaidītās vietās, kur rezultāts netika pārbaudīts - mūsu loģika!

FlexBox ļauj jums eleganti kontrolēt visdažādākos parametrus elementu iekšpusē konteinerā: virziens, pasūtījums, platums, augstums, izlīdzināšana kopā un pāri, sadale brīvas vietas, stiepšanās un kompresijas elementu.

Pamatzināšanas

Flexbox sastāv no konteinera un tās bērna elementiem (vienumiem) (elastīgi elementi).

Iekļaut Flexbox, jebkuru HTML elements pietiekami, lai piešķirtu CSS īpašuma displeju: Flex; vai displejs: inline-flex; .

1
2

Pēc pagrieziena uz Flex Properties, divas asis ir izveidotas iekšpusē konteinerā: galvenā un šķērsvirziena (perpendikulāri (⊥), šķērsgriezuma ass). Visi ligzdotie elementi (pirmie līmeņi) ir veidoti uz galvenās ass. Pēc noklusējuma galvenā ass ir horizontāla un ir virziens no kreisās uz labo (→), un krustā, attiecīgi, vertikālā un ir vērsta no augšas uz leju (↓).

Galveno un krustiņu var mainīt vietās, tad elementi atradīsies uz augšu (↓), un, kad viņi pārtrauc uzstādīt augstumā, tie pārvietosies no kreisās uz labo (→) - tas ir, asis vienkārši mainās vietās . Tajā pašā laikā elementu atrašanās vietas sākums un beigas nemainās - tikai virzieni (ass) maiņa! Tāpēc jums ir nepieciešams iedomāties ass konteinera iekšpusē. Tomēr nav nepieciešams domāt, ka tur ir dažas "fiziskas" asis, un tās ietekmē kaut ko. Ass šeit ir tikai virziens kustības elementiem iekšpusē konteinerā. Piemēram, ja mēs norādījām elementu izlīdzināšanu galvenās ass centrā un pēc tam mainīja šīs galvenās ass virzienu, tas mainīsies un saskaņo: elementi bija vidū horizontāli, un tērauds vidū vertikāli. . Skatīt piemēru.

Vēl viena svarīga flex kastes iezīme ir rindas klātbūtne šķērsvirzienā. Lai saprastu, ko mēs runājam, pieņemsim iedomāties, ka ir galvenā horizontālā ass, daudzi elementi, un tie nav "kāpt" konteinerā, lai viņi iet uz citu rindu. Tiem. Tvertne izskatās šādi: konteiners, iekšpusē divas rindas, katrā rindā vairākiem elementiem. Vai? Tagad atcerieties, ka mēs varam saskaņot vertikāli ne tikai elementus, bet arī rindas! Kā tas darbojas labi redzams īpašuma piemērā. Un tā izskatās shematiski:

CSS īpašībasKas var ietekmēt izkārtojuma konstrukcijas modeli: peldēt, dzidru, vertikālu izlīdzināšanu, kolonnas nedarbojas flex dizainā. Tā izmanto citu modeli, lai izveidotu izkārtojumu, un šīs CSS īpašības tiek vienkārši ignorētas.

CSS rekvizīti Flexbox

Flexbox satur dažādas CSS noteikumus, lai kontrolētu visu flex dizainu. Daži ir jāpiemēro galvenajam konteineram, bet citi uz šī konteinera elementiem.

Konteineram

Displejs:

Ietver elastīgo īpašumu vienumam. Saskaņā ar šo īpašumu tajā ieguldītais elements ir ietekmēts tikai pirmā līmeņa pēctečiem - tie kļūs par konteinera flex elementiem.

  • flex - Elements ir izstiepts uz visu platumu, un tā ir pilna vieta starp apkārtējiem blokiem. Airēšana notiek bloka sākumā un beigās.
  • inline-flex - Elements racionalizē citi elementi. Šajā gadījumā tā iekšējā daļa ir formatēta kā bloka elements, un pats elements ir kā iebūvēts.

flex un Inline-Flex atšķiras faktu, ka atšķirīgi mijiedarbojas ar apkārtējiem elementiem, piemēram, displejs: bloķēt un displejs: inline bloks.

Flex virziens:

Maina konteinera galvenās ass virzienu. Attiecīgi mainās šķērsvirziena ass.

  • rinda (noklusējums) - elementu virziens no kreisās uz labo pusi (→)
  • kolonna. - elementu virziens no augšas uz leju (↓)
  • row-Reverse. - virziens elementu labajā pa kreisi (←)
  • kolonnas-reverse. - elementu virziens no apakšas uz augšu ()
Flex-wrap:

Pārvalda elementu nodošanu, kas ir nekompaning konteineram.

  • nowrap (noklusējums) - Nested elementi atrodas vienā rindā (virzienā \u003d rindā) vai vienā kolonnā (virzienā \u003d kolonnas laikā), neatkarīgi no tā, vai tie ir ievietoti tvertnē vai nē.
  • wrap. - Ietver vienumu nodošanu uz nākamo rindu, ja tie nav ievietoti konteinerā. Tas ietver kustību elementu uz šķērsvirziena ass.
  • wrap-reverse. - arī tas, ka tikai pārsūtīšana netiks uz leju, un uz augšu (pretējā virzienā).
Flex-Flow: virziena wrap

Apvieno gan flex-virzienu, gan flex-wrap īpašības. Tie bieži tiek izmantoti kopā, tāpēc Flex-Flow īpašums ir izveidots, lai rakstītu mazāk kodu.

flex-plūsma pieņem divu īpašumu vērtības, ko atdala ar atstarpi. Vai arī varat norādīt vienu īpašuma vērtību.

/ * Tikai Flex-virziens * / Flex-Flow: rinda; Flex-Flow: Row-Reverse; Flex-Flow: kolonna; Flex-Flow: Kolonna-Reverse; / * Tikai Flex-Wrap * / Flex-Flow: Nowrap; Flex-Flow: Wrap; Flex-Flow: Wrap-Reverse; / * Tūlīt abas nozīmes: Flex-virziens un Flex-Wrap * / Flex-Flow: rindas nobīdes; Flex-Flow: kolonnu wrap; Flex-Flow: Kolonna-Reverse Wrap-Reverse; Attaisnot saturu:

Izlīdzina elementus uz galvenās ass: ja virziens \u003d rinda, tad horizontāli, un, ja virziens \u003d kolonna, tad vertikāli.

  • flex-Start (noklusējums) - Elementi iet no sākuma (beigās var būt vieta).
  • flex-end. - elementi ir izlīdzināti ar galu (vieta paliks sākumā)
  • centrs - centrā (vieta paliks pa kreisi un pa labi)
  • starp. - Ekstrēmie elementi tiek nospiesti uz malām (vieta starp elementiem tiek sadalīta vienmērīgi)
  • kosmosa apkārt. - Starp elementiem vienmērīgi tiek sadalīta brīva telpa (ekstrēmie elementi netiek nospiesti malām). Telpa starp tvertnes malu un ekstrēmiem elementiem būs divas reizes mazāk nekā telpu starp elementiem vidū rindas.
  • vienmērīgi
Izlīdzināšanas saturs:

Saskaņo rindas, kurās atrodas šķērsvirziena ass elementi. Tāds pats kā saturs tikai pretējā ass.

Piezīme: darbojas, ja ir vismaz 2 rindas, t.i. Ja ir tikai 1 rinda, nekas nenotiek.

Tiem. Ja Flex virziens: rinda, šis īpašums saskaņos neredzamas rindas vertikāli |. Ir svarīgi atzīmēt, ka bloka pacēlums ir jānosaka stingri, un tai jābūt lielākam par sērijas augstumu, citādi rindas pašas izstiepsies tvertnē un to izlīdzināšana zaudē savu nozīmi, jo starp tām nav brīvas vietas. . Bet, kad Flex virziens: kolonna, tad rindas pārvietojas horizontāli → un platums konteinera gandrīz vienmēr ir lielāks par platumu sērijas un izlīdzināšana rindas nekavējoties iegūst nozīmi ...

  • stiept (noklusējums) - rindas stiepjas uzpildes virkni pilnīgi
  • flex-start. - rindas ir sagrupētas tvertnes augšpusē (beigās var būt vieta).
  • flex-end. - rindas ir sagrupētas konteinera apakšā (vieta paliks sākumā)
  • centrs - rindas ir sagrupētas konteinera centrā (vieta paliks malās)
  • starp. - ekstrēmās rindas tiek nospiestas uz malām (vieta starp rindām tiek sadalīta vienmērīgi)
  • kosmosa apkārt. - Starp rindām vienmērīgi tiek sadalīta brīva telpa (ekstrēmie elementi nav nospiesti uz malām). Telpa starp tvertnes malu un ekstrēmiem elementiem būs divas reizes mazāk nekā telpu starp elementiem vidū rindas.
  • vienmērīgi - Arī tas kosmosa apkārtnē tikai attālums ekstrēmos elementos uz tvertnes malām ir tāds pats kā starp elementiem.
Pielāgot vienumus:

Saskaņo šķērsvirziena ass elementus rindā (neredzamā līnija). Tiem. Rindas pašas ir saskaņotas, izmantojot izlīdzināt saturu, un elementus šajās rindās (virknes), izmantojot saskaņotus priekšmetus un to visu par šķērsvirziena asi. Nav šādas atdalīšanas no galvenās ass, nav neviena koncepciju sērijas un elementi ir saskaņoti, izmantojot attaisnot saturu.

  • stiept (noklusējums) - Elementi Stretch aizpildot virkni pilnīgi
  • flex-start. - Elementi tiek nospiesti līdz rindas sākumam
  • flex-end. - Elementi tiek nospiesti pēc rindas beigām
  • centrs - elementi izlīdzina rindas centrā
  • bāzes līnija - Elementi ir saskaņoti ar bāzes tekstu

Konteineru elementiem

Flex-Grow:

Norāda pieaugošo faktoru elementa brīvas vietas klātbūtnē konteinerā. Noklusējums Flex-Grow: 0.e. Elementu nevienam nedrīkst palielināt un aizpildīt brīvu vietu konteinerā.

Default Flex-Grow: 0

  • Ja visi elementi norāda uz Flex-Grow: 1, tad tie visi stiept vienādi un aizpildīt visu brīvo vietu tvertnē.
  • Ja viens no elementiem norāda uz Flex-Grow: 1, tad tas aizpildīs visu brīvo vietu konteinerā un izlīdzināšana, izmantojot pamatot-satura darbu, nevarēs strādāt: nav nekas, lai saskaņotu brīvo vietu ...
  • Kad Flex-Grow: 1. Ja kādam no viņiem ir elastīgs: 2, tas būs 2 reizes vairāk nekā visi pārējie
  • Ja visi flex bloki Flex konteinerā ir Flex-Grow: 3, tad tie būs vienāda izmēra
  • Ar Flex-Grow: 3. Ja kādam no tiem ir Flex-Grow: 12, tas būs 4 reizes vairāk nekā visi pārējie

Kā tas strādā? Pieņemsim, ka tvertnei ir 500px platums un tajā ir divi elementi, no kuriem katram ir 100px platums. Tāpēc tvertnē paliek 300 bezmaksas pikseļi. Tagad, ja norādāt Flex-Grow: 2 pirmais elements; un otrais elastīgais augums: 1; Bloki veiks visu pieejamo konteinera platumu un pirmā bloka platums būs 300px, un otrais 200px. Tas ir izskaidrojams ar to, ka pieejamā 300px brīva telpa konteinerā tika sadalīta starp elementiem 2: 1, + 200px attiecību pirmā un + 100px sekundē.

Piezīme: vērtībā jūs varat norādīt frakcionēti numuri, piemēram: 0.5 - Flex-Grow: 0.5

Flex-shrink:

Norāda elementa samazināšanas faktoru. Funkcija ir pretējs elastīgs augums un nosaka, kā elements ir saspiests, ja tvertnē nav brīvas vietas. Tiem. Īpašums sāk strādāt, kad visu elementu izmēru summa ir lielāka par tvertnes lielumu.

Noklusējuma Flex-Shrink: 1

Pieņemsim, ka tvertnei ir 600px platums un satur divus elementus, no kuriem katrs ir 300px platums - flex-bāzes: 300px; . Tiem. Divi elementi pilnībā aizpilda konteineru. Pirmais elements norāda Flex-Shrink: 2; un otrā elastīgā saraušanās: 1; . Tagad samazinot tvertnes platumu 300px, t.sk. Elementiem jābūt ar 300px, kas atrodas konteinerā. Tie tiks saspiesti 2: 1 attiecība, t.i. Pirmā vienība pievienosies 200px, un otrais līdz 100px un jaunie elementu izmēri būs 100px un 200px.

PIEZĪME: Vērtībā jūs varat norādīt frakcionētus skaitļus, piemēram: 0.5 - Flex-Shrink: 0.5

Flex - pamats:

Iestata elementa pamatplatību - platumu pirms atlikušajiem apstākļiem, kas ietekmē elementa platumu, tiks aprēķināts. Vērtību var norādīt PX, EM, REM,%, VW, VH utt. Galīgais platums būs atkarīgs no bāzes platuma un Flex-Grow vērtības blokā. Ar auto, elements saņem pamata platumu attiecībā pret saturu tajā.

Noklusējums: Auto

Dažreiz tas ir labāk, lai uzstādītu platumu elementa stingri caur parasto platuma īpašumu. Piemēram, platums: 50%; Tas nozīmēs, ka konteinera elements būs tieši 50%, tomēr darbosies arī elastīgie un elastīgie saraušanās īpašumi. Tas var būt nepieciešams, ja elements ir izstiepts ar saturu tajā, vairāk norādīts elastīgā veidā. Piemērs.

flex-bāzes būs "grūts", ja reset stiepes un saspiešanas: Flex-bāzes: 200px; Flex-Grow: 0; Flex-shrink: 0; . Tas viss var būt rakstīts kā Flex: 0 0 200px; .

Flex: (augiet samazināšanos)

Īsa trīs īpašību ierakstīšana: Flex-Grow Flex-Shrink Flex-pamats.

Noklusējums: Flex: 0 1 Auto

Tomēr jūs varat norādīt vienu, un divas vērtības:

Flex: nav; / * 0 0 Auto * / / * numurs * / Flex: 2; / * Flex-Grow (Flex-bāzes iet uz 0) * / / * Nav skaitlis * / Flex: 10em; / * Flex-bāzes: 10em * / Flex: 30px; / * Flex-bāzes: 30px * / Flex: auto; / * Flex-bāzes: Auto * / Flex: saturs; / * Flex-bāzes: Saturs * / Flex: 1 30px; / * Flex-Grow un Flex-bāzes * / Flex: 2 2; / * Flex-Grow un Flex-Shrink (Flex-bāzes iet 0) * / Flex: 2 2 10%; / * Flex-Grow un Flex-Shrink un Flex-bāzes * / ALOC-SELF:

Ļauj mainīt vienumu īpašumu, tikai atsevišķu vienumu.

Noklusējums: no izlīdzināšanas vienību konteinera

  • stiept. - Elements ir izstiepts aizpildot virkni pilnīgi
  • flex-start. - Elements tiek nospiests līdz līnijas sākumam
  • flex-end. - Elements tiek nospiests uz virknes beigām
  • centrs - Elements ir izlīdzināts līnijas centrā
  • bāzes līnija - Elements ir saskaņots ar pamata līniju teksta

Pasūtījums:

Ļauj mainīt kārtību (pozīciju, pozīciju) no elementa vispārējā rindā.

Noklusējums: Pasūtījums: 0

Pēc noklusējuma elementiem ir pasūtījums: 0 un ievietot to izskatu secībā HTML kodā un rindas virzienā. Bet, ja maināt pasūtījuma īpašuma vērtību, vienumi tiks būvēti vērtību secībā: -1 0 1 2 3 .... Piemēram, ja viens no vienumiem norāda pasūtījumu: 1, tad jūs vispirms iet visu nulli, un pēc tam elements no 1.

Tātad tas ir iespējams, piemēram, pirmais elements, lai pārvērstu galu, vienlaikus nemainot citu elementu kustības virzienu vai HTML kodu.

Piezīmes

Kāda ir atšķirība starp flex-bāzes no platuma?

Zem svarīgas atšķirības starp elastīgu un platumu / augstumu:

    flex-bāzes darbojas tikai galvenajai asij. Tas nozīmē, ka tad, kad fleks virziens: rinda flex-bāzes kontrolē platumu (platumu), un, kad flex virziens: kolonna kontrolē augstumu (augstumu). .

    flex-bāzes attiecas tikai uz flex elementiem. Tātad, ja jūs atspējojat flex pie konteinera, šis īpašums nebūs spēkā.

    Konteinera absolūtie elementi nepiedalās Flex Design ... un tādējādi elastīgi neietekmē elastīgā konteinera elementus, ja tie ir pilnīgi novietoti: absolūti. Viņiem būs jānorāda platums / augstums.

  • Lietojot Flex Properties 3 vērtības (Flex-Grow / Flex-Shrink / Flex-bāzes), jūs varat apvienot un rakstīt īsu, un platums aug vai sarukt jums ir nepieciešams rakstīt atsevišķi. Piemēram: Flex: 0 0 50% \u003d\u003d Platums: 50%; Flex-shrink: 0; . Dažreiz tas ir tikai neērti.

Ja iespējams, joprojām dod priekšroku elastīgam. Izmantojiet platumu tikai tad, ja flex-bāzes nav piemērots.

Atšķirības Flex - bāzes no platuma - bug vai fich?

Saturs Flex elementa iekšpusē to samazina un nevar pārsniegt tās robežas. Tomēr, ja jūs iestatāt platumu, izmantojot platumu vai maksimālo platumu, nevis flex-pamata, elements iekšpusē Flex konteiners varēs iet tālāk par šo konteineru (dažreiz jums ir nepieciešama šī uzvedība). Piemērs:

Flex izkārtojuma piemēri

Piemēros jebkurā vietā tiek izmantoti prefiksi pārrobežu pārlūkprogrammai. Es to darīju ērtai lasīšanai CSS. Tāpēc skatiet jaunākos piemērus. chrome versijas vai firefox.

# 1 vienkāršs piemērs ar vertikālo izlīdzināšanu un horizontālu

Sāksim ar vienkāršāko piemēru - izlīdzināšana vertikāli un horizontāli vienlaicīgi un jebkurā bloka augstumā, pat gumijas.

Teksts vidū

Vai tā, bez bloka iekšpuses:

Teksts vidū

# 1.2 atdalīšana (plaisa) starp elastīgā bloka elementiem

Lai novietotu konteinera elementus uz malām un patvaļīgi atlasiet elementu, pēc kura būs pārtraukums, jums ir jāizmanto margas kreisais īpašums: Auto vai Margin-Right: Auto.

# 2 Adaptīvā izvēlne Flex

Izveidojiet izvēlni lapas augšpusē. Uz plašu ekrānu jābūt pareizi. Vidēji, saskaņots vidū. Un uz neliela vienam elementam jābūt jaunā līnijā.

# 3 adaptīvās 3 kolonnas

Šis piemērs parāda, cik ātri un ērti veikt 3 kolonnas, kas, sašaurinot, kļūs 2 un pēc tam 1.

Lūdzu, ņemiet vērā, ka to var izdarīt, neizmantojot mediju noteikumus, visi uz flex.

1
2
3
4
5
6

Iet uz JSFiddle.net un mainiet sadaļas "rezultātu" platumu

# 4 Adaptīvie bloki Flex

Pieņemsim, ka mums ir jāizņem 3 bloki, viens liels un divi mazi. Tajā pašā laikā ir nepieciešams, lai bloki iederas mazos ekrānos. Veidot:

1
2
3

Iet uz JSFiddle.net un mainiet sadaļas "rezultātu" platumu

# 5 Galerija Flex un pārejā

Šis piemērs parāda, cik ātri jūs varat izdarīt diezgan acu akordeonu ar attēliem Flex. Pievērsiet uzmanību pārejas īpašumam Flex.

# 6 Flex Flex (tikai piemērs)

Uzdevums veido elastīgu bloku. Lai teksta sākums katrā blokā bija vienā horizontālā līnijā. Tiem. Ar platuma platumu, bloki aug augstumā. Ir nepieciešams, lai attēls būtu augšpusē, poga vienmēr ir lejā, un teksts vidū sākās vienā horizontālā līnijā ...

Lai atrisinātu šo problēmu, paši bloki ir izstieptas ar flex, un maksimālais iespējamais platums ir uzstādīts. Katra iekšējā vienība ir arī elastīga ar dizainu, ar flex virzienu: kolonnu; un elements vidū (kur atrodas teksts) ir izstiepts elastīgs augums: 1; Lai aizpildītu visu brīvo vietu, rezultāts tiek sasniegts - teksts sākās ar vienu līniju ...

Vairāk piemēru

Pārlūkprogrammas atbalsts - 98,3%

Protams, nav pilnīga atbalsta, bet visi mūsdienu pārlūkprogrammas Atbalsta Flexbox dizainu. Dažiem, jums joprojām ir jānorāda prefiksi. Lai iegūtu reālu attēlu, apskatiet Caniuse.com un redziet, ka 96,3% no šodien izmantotās pārlūkprogrammas darbosies bez prefiksiem, ar prefiksu 98,3%. Tas ir lielisks rādītājs, lai droši izmantotu Flexbox.

Zināt, kādi prefiksi ir būtiski šodien (2019. gada jūnijs), es sniegšu piemēru visiem flex noteikumiem ar nepieciešamie prefiksi:

/ * Konteiners * / .flex (displejs: -Webkit-kaste; displejs: -ms-flexbox; displejs: flex; displejs: -webkit-inline box; displejs: -ms-inline-flexbox; displejs: inline-flex; -Webkit-box-orient: vertikāli; -webkit-box virziens: normāls; -ms-flex virzienā: kolonna; fleks virziens: kolonna; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms; -Flex plūsma: kolonnu wrap; Flex-Flow: kolonnu wrap; -Webkit-box-pack: pamatot; -ms-flex-pack: pamatot; attaisnot-saturu: telpu starp; -ms-flex-line-pack: Izplatīt; izlīdzināt saturu: kosmosa ap;) / * elementi * / .flex-postenis (-Webkit-box-flex: 1; -ms-flex-pozitīvs: 1; Flex-Grow: 1; -ms-flex- Negatīvs: 2; Flex-Shrink: 2; -ms-Flex-vēlamais izmēra: 100px; Flex-bāzes: 100px; -ms-flex: 1 2 100px; Flex: 1 2 100px; -ms-flex-postenis : Centrs; ALOC-SELF: Centrs; -Webkit-Box-Ordinal-Group: 3; -ms-Flex-Order: 2; Pasūtījums: 2;)

Tas ir labāk, ja īpašības ar prefiksu dosies uz sākotnējo īpašumu.
Šodien nav nevajadzīgas (Caniuse) prefiksi šodien (ar Caniuse), bet vispārīgi prefiksi vairāk.

Hroms. Safari. Firefox. Operas. Ti, ti Android ios.
20- (vecs) 3.1+ (vecs) 2-21 (vecs) 10 (Tweeger) 2.1+ (vecs) 3.2+ (vecs)
21+ (jauns) 6.1+ (jauns) 22+ (jauns) 12.1+ (jauns) 11+ (jauns) 4.4+ (jauns) 7.1+ (jauns)
  • (Jauns) - jauns sintakse: displejs: flex; .
  • (Tweener) - Old Neoficiāls Sintakse 2011: Displejs: Flexbox; .
  • (Old) - Old Syntax 2009: Displejs: kaste;

Video

Nu, neaizmirstiet par video, dažreiz tas ir arī interesants un saprotams. Šeit ir pāris populārs:

Noderīgas saites Flex

    flexboxfroggy.com - Flexbox izglītības spēle.

    Flexplorer ir vizuāls Flex kodu dizainers.