204 of 313 menu

Egenskapen flex-grow

Egenskapen flex-grow bestämmer hur myndet ett enskilt flex-block kan vara större än angränsande element, om det behövs.

Till exempel, om alla flex-block inuti en flex-container har flex-grow:1, så kommer de att ha samma storlek. Om en av dem har flex-grow:2, så kommer den att vara 2 gånger större än alla andra.

Om den totala bredden på elementen är mindre än förälderns bredd, så finns det tomt utrymme kvar till höger. Om så önskas kan detta tomma utrymme fördelas proportionellt mellan våra element. Detta görs med egenskapen flex-grow, som sätts på flex-elementen. Värdet på denna egenskap är ett dimensionslöst tal.

Tillämpas på: ett specifikt flex-block.

Denna egenskap ingår som en del av genvägsegenskapen flex.

Syntax

selektor { flex-grow: positivt tal; }

Standardvärde: 0.

Exempel

Just nu har vi två flex-block med en bredd på 100px. Deras totala bredd är 200px, och förälderns bredd är 300px. Det betyder att det finns ledigt utrymme på 100px kvar.

Om elementen inte har något flex-grow satt, så ser vi bara detta lediga utrymme. Om de däremot har det satt, så kommer den faktiska bredden på elementen att vara större än den angivna - de kommer proportionellt fördela det lediga utrymmet mellan sig och lägga till det till sin bredd.

Låt som exempel det första elementet ha flex-grow satt till 1, och det andra till 3. Låt oss beräkna vilken del av det lediga utrymmet varje element kommer att få.

Först behöver vi få den totala mängden enheter av flex-grow för alla våra element. För det första elementet är det 1, och för det andra är det 3. Det betyder att summan är 4.

Låt oss nu dividera 100px ledigt utrymme med 4 och få att 25px kommer på en enhet av flex-grow. Det blir så, att till det första elementet läggs en enhet av flex-grow, det vill säga 25px, och till det andra - tre enheter, det vill säga 75px.

Bredden på det första elementet blir 125px, och det andra - 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; }

:

Exempel

Låt nu förälderns bredd vara 400px, det första elementets bredd 200px, och bredden på det andra elementet - 100px. Det blir, att det lediga utrymmet igen är 100px.

Låt oss sätta flex-grow för varje element, till 1. Summan blir 2, det vill säga 100px ledigt utrymme måste delas med 2. Det blir att 50px kommer på en enhet av girighet.

Eftersom alla element har samma värde på flex-grow, så kommer alla element att få samma värde på 50px. Det betyder, att det första elementet blir 250px, och det andra blir 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; }

:

Exempel

Låt återigen förälderns bredd vara 400px, det första elementets bredd 200px, och bredden på det andra elementet - 100px.

Låt oss nu sätta flex-grow för det första elementet till värdet 3, och för det andra - till värdet 1. Det blir att girigheten totalt är 4. Då är en enhet av girighet lika med 100px / 4 = 25px.

Till det första elementet läggs 75px till, och det blir 275px, och till det andra - 25px, det blir 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; }

:

Se även

  • egenskapen flex-direction,
    som sätter axlarnas riktning för flex-block
  • egenskapen justify-content,
    som sätter justering längs huvudaxeln
  • egenskapen align-items,
    som sätter justering längs tväraxeln
  • egenskapen flex-wrap,
    som sätter flerradighet för flex-block
  • egenskapen flex-flow,
    genväg för flex-direction och flex-wrap
  • egenskapen order,
    som sätter ordningen för flex-block
  • egenskapen align-self,
    som sätter justering för ett block
  • egenskapen flex-basis,
    som sätter storleken på ett specifikt flex-block
  • egenskapen flex-shrink,
    som sätter ihopdragbarheten för flex-block
  • egenskapen flex,
    genväg för flex-grow, flex-shrink och flex-basis
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa