⊗mkSpFxZG 87 of 128 menu

Нула похлепност флекс елемената у CSS-у

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

Хајде да за пример извршимо неки прорачун. Претпоставимо да имамо три флекс-елемента, сваки са ширином од 100px. Нека први елемент нема flex-grow (или је оно једнако 0), други елемент има flex-grow, једнако 2, а трећи - једнако 3.

Нека је ширина родитеља 500px. Онда ће слободни простор бити једнак 200px, а на једну јединицу flex-grow ће отпасти 200px / 5 = 40px. Испоставиће се да ће ширина првог елемента и даље остати 100px, пошто он не учествује у расподели, ширина другог ће бити 100px + 2 * 40px = 180px, а ширина трећег - 100px + 3 * 40px = 220px.

Практични задаци

У свим задацима испод биће вам представљен неки код са флекс-елементима који имају ширину и flex-grow. Према приказаном коду израчунајте, које димензије ће имати сваки од елемената. Затим покрените код и проверите ваше прорачуне, мерећи стварне ширине елемената.

<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; }
Српски
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
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј