204 of 313 menu

Svojstvo flex-grow

Svojstvo flex-grow određuje, koliko pojedinačni flex-blok može biti veći od susednih elemenata, ako je to potrebno.

Na primer, ako svi flex-blokovi unutar flex-kontejnera imaju flex-grow:1, onda će oni biti iste veličine. Ako jedan od njih ima flex-grow:2, onda će on biti 2 puta veći od svih ostalih.

Ako je zbirna širina elemenata manja od širine roditelja, tako da ostaje prazan prostor sa desne strane. Po želji, ovaj prazan prostor se može proporcionalno podeliti između naših elemenata. To se radi pomoću svojstva flex-grow, koje se dodeljuje fleks-elementima. Vrednost ovog svojstva je bezdimenzioni broj.

Primenjuje se na: konkretan flex blok.

Ovo svojstvo ulazi kao sastavni deo u skraćeno svojstvo flex.

Sintaksa

selektor { flex-grow: pozitivan broj; }

Podrazumevana vrednost: 0.

Primer

Sada imamo dva fleks-bloka sa širinom od 100px. Njihova zbirna širina je 200px, a širina roditelja je 300px. Ispada da ostaje slobodan prostor od 100px.

Ako elementima nije dodeljeno flex-grow, onda ćemo jednostavno videti ovaj slobodan prostor. Ako im je dodeljeno, onda će stvarna širina elemenata biti veća od zadate - oni će proporcionalno podeliti slobodan prostor među sobom i dodati ga svojoj širini.

Neka za primer kod prvog elementa flex-grow bude jednak 1, a kod drugog - 3. Hajde da izračunamo, koji deo slobodnog prostora će dobiti svaki element.

Za početak treba dobiti ukupnu količinu jedinica flex-grow svih naših elemenata. Kod prvog elementa on je jednak 1, a kod drugog - 3. To znači da je u zbiru jednak 4.

Podelimo sada 100px slobodnog prostora na 4 i dobijemo da 25px dolazi na jednu jedinicu flex-grow. Ispaće, da će se prvom elementu dodati jedna jedinica flex-grow, to jest 25px, a drugom - tri jedinice, to jest 75px.

Širina prvog elementa će ispasti 125px, a drugog - 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; }

:

Primer

Neka sada širina roditelja bude jednaka 400px, širina prvog elementa 200px, a širina drugog elementa - 100px. Ispaće, da je slobodan prostor opet jednak 100px.

Hajde da svakom elementu dodelimo flex-grow, jednak 1. U zbiru će ispasti 2, to jest 100px slobodnog prostora treba podeliti na 2. Ispaće da 50px dolazi na jednu jedinicu pohlepe.

Pošto svi elementi imaju istu vrednost flex-grow, onda će se svim elementima dodati ista vrednost od 50px. To znači, da će prvi element postati 250px, i a drugi će postati 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; }

:

Primer

Neka opet širina roditelja bude jednaka 400px, širina prvog elementa 200px, a širina drugog elementa - 100px.

Hajde sada da prvom elementu postavimo flex-grow u vrednost 3, a drugom - u vrednost 1. Ispaće da je pohlepa u zbiru jednaka 4. Tada jedna jedinica pohlepe je jednaka 100px / 4 = 25px.

Prvom elementu će se dodati 75px, i on će postati 275px, a drugom - 25px, on će postati 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; }

:

Pogledajte takođe

  • svojstvo flex-direction,
    koje zadaje smer osa flex blokova
  • svojstvo justify-content,
    koje zadaje poravnanje duž glavne ose
  • svojstvo align-items,
    koje zadaje poravnanje duž poprečne ose
  • svojstvo flex-wrap,
    koje višelinijskost flex blokova
  • svojstvo flex-flow,
    skraćenica za flex-direction i flex-wrap
  • svojstvo order,
    koje zadaje redosled flex blokova
  • svojstvo align-self,
    koje zadaje poravnanje jednog bloka
  • svojstvo flex-basis,
    koje zadaje veličinu konkretnog flex bloka
  • svojstvo flex-shrink,
    koje zadaje sabijanje flex blokova
  • svojstvo flex,
    skraćenica za flex-grow, flex-shrink i flex-basis
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij