⊗mkSpFxZG 87 of 128 menu

Null grådighet for flex-elementer i CSS

Hvis flex-grow er null for et element, vil ikke det elementet delta i fordelingen av ledig plass. Som standard er grådigheten nettopp null, og derfor deler ikke elementer uten tilordnet flex-grow den ledige plassen mellom seg.

La oss gjøre en beregning for eksempel. Anta at vi har tre flex-elementer, hver med en bredde på 100px. La det første elementet ikke ha flex-grow (eller at det er 0), det andre elementet har flex-grow satt til 2, og det tredje - satt til 3.

Anta at forelderens bredde er 500px. Da vil den ledige plassen være 200px, og én enhet av flex-grow vil tilsvare 200px / 5 = 40px. Resultatet blir at bredden på det første elementet forblir 100px, siden det ikke deltar i fordelingen, bredden på det andre vil være 100px + 2 * 40px = 180px, og bredden på det tredje - 100px + 3 * 40px = 220px.

Praktiske oppgaver

I alle oppgavene nedenfor vil du bli presentert med noen kode med flex-elementer som har bredde og flex-grow. Basert på den viste koden, beregn hvilke dimensjoner hvert av elementene vil ha. Deretter kjør koden og sjekk beregningene dine ved å måle de faktiske breddene til elementene.

<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; }
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis