⊗mkSpFxGr 86 of 128 menu

Urojo wa Vipengele vya Flex katika CSS

Hebu sasa tuwe na vizuizi viwili vya flex, vilivyopangwa kwa mstari. Vizuizi hivi vina upana uliowekwa wa 100px, na mzazi wao - 300px:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> </div> .parent { display: flex; width: 300px; height: 200px; border: 1px solid red; } .child { width: 100px; height: 100px; border: 1px solid green; }

:

Kama unavyoona, jumla ya upana wa vipengele vyetu ni chini ya upana wa mzazi, kwa hivyo upande wa kulia kuna nafasi tupu.

Kwa hiari, nafasi hii tupu inaweza kugawanywa sawasawa kati ya vipengele vyetu. Hii inafanywa kwa kutumia sifa flex-grow, iliyowekwa kwa vipengele vya flex. Thamani ya hii sifa ni nambari isiyo na kipimo.

Hebu tuangalie kwa vitendo, jinsi sifa hii inavyofanya kazi.

Mfano

Sasa tuna vizuizi viwili vya flex na upana wa 100px. Jumla ya upana wa vipengele 200px, na upana wa mzazi - 300px. Inatokea kwamba kuna nafasi iliyobaki ya 100px.

Kama kipengele hakijapewa flex-grow, basi tutaona tu nafasi hii iliyobaki. Lakini ikiwa imewekwa, basi upana halisi wa vipengele utakuwa mkubwa zaidi kuliko uliowekwa - watawa kugawanya nafasi iliyobaki kati yao na kuiongeza kwa upana wao.

Hebu kwa mfano kipengele cha kwanza flex-grow iwe sawa na 1, na cha pili - 3. Hebu tuhesabu, sehemu gani ya nafasi iliyobaki kipengele kila kitapata.

Kwanza, unahitaji kupata jumla ya idadi ya vitengo vya flex-grow ya vipengele vyetu vyote. Kipengele cha kwanza kina 1, na cha pili - 3. Hii inamaanisha kuwa kwa jumla ni sawa na 4.

Sasa tugawanye 100px ya nafasi iliyobaki kwa 4 na tupate kwamba 25px hukaa kwa kitengo kimoja cha flex-grow. Itatokea, kwamba kwa kipengele cha kwanza kitaongezwa kitengo kimoja cha flex-grow, yaani 25px, na kwa cha pili - vitengo vitatu, yaani 75px.

Upana wa kipengele cha kwanza utakuwa 125px, na cha pili - 175px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 300px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 100px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 3; }

:

Mfano

Hebu sasa upana wa mzazi uwe sawa na 400px, upana wa kipengele cha kwanza 200px, na upana wa kipengele cha pili - 100px. Itatokea, kwamba nafasi iliyobaki tena ni sawa na 100px.

Hebu kila kipengele kiweke flex-grow, sawa na 1. Kwa jumla itakuwa 2, yaani 100px ya nafasi iliyobaki inahitaji kugawanywa kwa 2. Itatokea kwamba 50px hukaa kwa kitengo kimoja cha urojo.

Kwa kuwa vipengele vyote vina thamani sawa ya flex-grow, basi kwa vipengele vyote vitaongezwa thamani sawa ya 50px. Hii inamaanisha, kwamba kipengele cha kwanza kitakuwa 250px, na na cha pili kitakuwa 150px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 400px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 1; }

:

Mfano

Hebu tena upana wa mzazi uwe sawa na 400px, upana wa kipengele cha kwanza 200px, na upana wa kipengele cha pili - 100px.

Hebu sasa kipengele cha kwanza kiweke flex-grow kwa thamani 3, na cha pili - kwa thamani 1. Itatokea kwamba urojo kwa jumla ni sawa na 4. Basi kitengo kimoja cha urojo ni sawa na 100px / 4 = 25px.

Kwa kipengele cha kwanza kitaongezwa 75px, na kitakuwa 275px, na kwa cha pili - 25px, kitakuwa 125px:

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> </div> .parent { display: flex; width: 400px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 3; } .elem2 { width: 100px; flex-grow: 1; }

:

Kazi za Vitendo

Katika kazi zote hapa chini utapewa baadhi ya msimbo na vipengele vya flex, vilivyo na upana na flex-grow. Kulingana na msimbo uliowasilishwa hesabu, vipimo gani kitakuwa na kila kipengele. Kisha anzisha msimbo na ukagua mahesabu yako, kwa kupima upana halisi wa vipengele.

<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem3">3</div> </div> .parent { display: flex; width: 500px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 3; } .elem2 { width: 100px; flex-grow: 1; } .elem3 { width: 100px; flex-grow: 1; }
<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem3">3</div> </div> .parent { display: flex; width: 700px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 100px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 2; } .elem3 { width: 200px; flex-grow: 3; }
<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem3">3</div> </div> .parent { display: flex; width: 500px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 100px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 1; } .elem3 { width: 100px; flex-grow: 1; }
<div class="parent"> <div class="child elem1">1</div> <div class="child elem2">2</div> <div class="child elem3">3</div> <div class="child elem4">4</div> </div> .parent { display: flex; width: 1000px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 1; } .elem2 { width: 100px; flex-grow: 2; } .elem3 { width: 100px; flex-grow: 4; } .elem4 { width: 100px; flex-grow: 3; }
Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa