204 of 313 menu

Savybė flex-grow

Savybė flex-grow nustato, kiek individualus flex blokas gali būti didesnis už gretimus elementus, jei to reikia.

Pavyzdžiui, jei visi flex blokai flex konteinerio viduje turi flex-grow:1, tai jie bus vienodo dydžio. Jei vienas iš jų turi flex-grow:2, tai jis bus 2 karto didesnis už visus kitus.

Jei bendras elementų plotis mažesnis už tėvinio elemento plotį, dešinėje lieka tuščia erdvė. Jei norima, ši tuščia erdvė gali būti proporcingai paskirstyta tarp mūsų elementų. Tai daroma naudojant savybę flex-grow, kuri nustatoma flex elementams. Šios savybės reikšmė yra bematis skaičius.

Taikoma: konkrečiam flex blokui.

Ši savybė įeina kaip sudedamoji dalis į trumpinio savybę flex.

Sintaksė

selektorius { flex-grow: teigiamas skaičius; }

Numatytoji reikšmė: 0.

Pavyzdys

Dabar mes turime du flex blokus, kurių plotis 100px. Jų bendras plotis 200px, o tėvinio elemento plotis - 300px. Pasirodo, kad lieka laisva erdvė 100px.

Jei elementams nenustatytas flex-grow, tai mes tiesiog pamatysime šią laisvą erdvę. Jei ji jiems nustatyta, tai realus elementų plotis bus didesnis už nustatytą - jie proporcingai paskirstys laisvą erdvę tarp savęs ir pridės ją prie savo pločio.

Tarkime, pavyzdžiui, pirmojo elemento flex-grow yra 1, o antrojo - 3. Apskaičiuokime, kokią dalį laisvos erdvės gaus kiekvienas elementas.

Pirmiausia reikia gauti bendrą vienetų flex-grow skaičių visuose mūsų elementuose. Pirmojo elemento jis yra 1, o antrojo - 3. Tai reiškia, kad iš viso jis lygus 4.

Padalinkime dabar 100px laisvos erdvės iš 4 ir gausime, kad 25px tenka vienam flex-grow vienetui. Pasirodo, kad prie pirmojo elemento bus pridėtas vienas vienetas flex-grow, tai yra 25px, o prie antrojo - trys vienetai, tai yra 75px.

Pirmojo elemento plotis bus 125px, o antrojo - 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; }

:

Pavyzdys

Tarkime, kad tėvinio elemento plotis yra 400px, pirmojo elemento plotis 200px, o antrojo elemento plotis - 100px. Pasirodo, kad laisva erdvė vėl lygi 100px.

Suteikime kiekvienam elementui flex-grow, lygų 1. Iš viso bus 2, tai yra 100px laisvos erdvės reikia padalinti iš 2. Pasirodo, kad 50px tenka vienam godumo vienetui.

Kadangi visi elementai turi vienodą reikšmę flex-grow, tai prie visų elementų bus pridėta vienoda reikšmė 50px. Tai reiškia, kad pirmasis elementas taps 250px, ir antrasis taps 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; }

:

Pavyzdys

Tarkime, vėl tėvinio elemento plotis lygus 400px, pirmojo elemento plotis 200px, o antrojo elemento plotis - 100px.

Dabar nustatykime pirmajam elementui flex-grow reikšmę 3, o antrajam - reikšmę 1. Pasirodo, kad godumas viso yra 4. Tada vienas godumo vienetas lygus 100px / 4 = 25px.

Prie pirmojo elemento bus pridėta 75px, ir jis taps 275px, o prie antrojo - 25px, jis taps 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; }

:

Taip pat žiūrėkite

  • savybė flex-direction,
    kuri nustato flex blokų ašių kryptį
  • savybė justify-content,
    kuri nustato lygiavimą pagrindinėje ašyje
  • savybė align-items,
    kuri nustato lygiavimą skersinėje ašyje
  • savybė flex-wrap,
    kuri nustato flex blokų kelių eilučių savybę
  • savybė flex-flow,
    sutrumpinimas flex-direction ir flex-wrap
  • savybė order,
    kuri nustato flex blokų tvarką
  • savybė align-self,
    kuri nustato vieno bloko lygiavimą
  • savybė flex-basis,
    kuri nustato konkretaus flex bloko dydį
  • savybė flex-shrink,
    kuri nustato flex blokų susispaudimo savybę
  • savybė flex,
    sutrumpinimas flex-grow, flex-shrink ir flex-basis
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti