204 of 313 menu

Својство flex-grow

Својство flex-grow одређује, колико појединачни flex-блок може бити већи од суседних елемената, ако је то потребно.

На пример, ако сви flex-блокови унутар flex-контејнера имају flex-grow:1, онда ће они бити једнаке величине. Ако један од њих има flex-grow:2, онда ће он бити 2 пута већи, од свих осталих.

Ако је збирна ширина елемената мања од ширине родитеља, онда са десне стране остаје празан простор. По жељи, овај празан простор се може пропорционално поделити између наших елемената. Ово се ради коришћењем својства flex-grow, које се задаје флекс-елементима. Вредност овог својства је бездимензијски број.

Примењује се на: конкретни flex блок.

Ово својство улази као саставни део у својство-скраћеницу flex.

Синтакса

селектор { flex-grow: позитиван број; }

Подразумевана вредност: 0.

Пример

Сада имамо два флекс-блока са ширином од 100px. Њихова збирна ширина елемената је 200px, а ширина родитеља - 300px. Добија се да остаје слободан простор од 100px.

Ако елементима није задат flex-grow, онда ћемо једноставно видети тај слободан простор. Ако им је задат, онда ће реална ширина елемената бити већа од задате - они ће пропорционално поделити слободан простор међу собом и додати га својој ширини.

Нека за пример први елемент има flex-grow једнак 1, а други - 3. Хајде да израчунамо, који део слободног простора ће добити сваки елемент.

За почетак треба добити збирну количину јединица flex-grow свих наших елемената. Први елемент га има 1, а други - 3. То значи да је у збиру једнак 4.

Поделимо сада 100px слободног простора са 4 и добијамо да 25px припада на једну јединицу flex-grow. Добија се, да ће се првом елементу додати једна јединица flex-grow, то јест 25px, а другом - три јединице, то јест 75px.

Ширина првог елемента ће бити 125px, а другог - 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; }

:

Пример

Нека сада ширина родитеља буде 400px, ширина првог елемента 200px, а ширина другог елемента - 100px. Добија се, да је слободан простор опет једнак 100px.

Хајде да сваком елементу задамо flex-grow, једнак 1. У збиру добијамо 2, то јест 100px слободног простора треба поделити на 2. Добија се да 50px припада на једну јединицу прождрљивости.

Како сви елементи имају исту вредност flex-grow, онда ће се свим елементима додати иста вредност од 50px. То значи, да ће први елемент постати 250px, и а други ће постати 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; }

:

Пример

Нека опет ширина родитеља буде 400px, ширина првог елемента 200px, а ширина другог елемента - 100px.

Хајде сада првом елементу поставимо flex-grow на вредност 3, а другом - на вредности 1. Добија се да је прождрљивост у збиру једнака 4. Oнда једна јединица прождрљивости једнака 100px / 4 = 25px.

Првом елементу ће се додати 75px, и он ће постати 275px, а другом - 25px, он ће постати 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; }

:

Погледајте такође

  • својство flex-direction,
    које задаје правац оса flex блокова
  • својство justify-content,
    које задаје поравнање по главној оси
  • својство align-items,
    које задаје поравнање по попречној оси
  • својство flex-wrap,
    које задаје вишелинијскост flex блокова
  • својство flex-flow,
    скраћеница за flex-direction и flex-wrap
  • својство order,
    које задаје редослед flex блокова
  • својство align-self,
    које задаје поравнање једног блока
  • својство flex-basis,
    које задаје величину конкретног flex блока
  • својство flex-shrink,
    које задаје сабијање flex блокова
  • својство flex,
    скраћеница за flex-grow, flex-shrink и flex-basis
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј