⊗mkSpFxZG 87 of 128 menu

Ničelna požrešnost flex elementov v CSS

Če je flex-grow enak nič za kakšen element, potem ta element ne bo sodeloval v porazdelitvi prostega prostora. Privzeto je požrešnost ravno ničelna vrednost in zato elementi brez določenega flex-grow ne delijo prostega prostora med seboj.

Za primer naredimo kakšen izračun. Recimo, da imamo tri flex-elemente, vsak s širino 100px. Naj prvi element nima flex-grow (ali je enak 0), drugi element ima flex-grow, enak 2, tretji pa - enak 3.

Naj bo širina starša enaka 500px. Takrat bo prosti prostor enak 200px, na eno enoto flex-grow pa bo pripadlo 200px / 5 = 40px. Izkazalo se bo, da širina prvega elementa tako ostane 100px, ker ne sodeluje v porazdelitvi, širina drugega bo 100px + 2 * 40px = 180px, širina tretjega pa - 100px + 3 * 40px = 220px.

Praktične naloge

V vseh spodnjih nalogah vam bo predstavljena določena koda s flex-elementi, ki imajo širino in flex-grow. Glede na predstavljeno kodo izračunajte, kakšne dimenzije bo imel vsak od elementov. Nato zaženite kodo in preverite svoje izračune z merjenjem dejanskih širin elementov.

<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: 0; } .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: 900px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 300px; flex-grow: 0; } .elem2 { width: 200px; flex-grow: 3; } .elem3 { width: 100px; flex-grow: 2; }
<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: 700px; height: 200px; border: 1px solid red; } .child { height: 50px; border: 1px solid green; } .elem1 { width: 200px; flex-grow: 0; } .elem2 { width: 200px; flex-grow: 0; } .elem3 { width: 100px; flex-grow: 1; } .elem4 { width: 100px; flex-grow: 1; }
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni