Īpašība flex-shrink
Īpašība flex-shrink nosaka to,
cik ļoti flex-bloks tiks samazināts attiecībā pret
kaimiņelementiem flex-konteinerā
brīvās vietas trūkuma gadījumā.
Piemēram, ja visiem flex-blokiem flex-konteinerā
ir flex-shrink:1, tad tie visi būs
vienāda izmēra. Ja vienam no tiem ir
flex-shrink:2, tad tas būs 2
reizes mazāks nekā pārējie.
Attiecas uz: konkrētu flex bloku.
Šī īpašība ietilpst kā sastāvdaļa saīsinātajā īpašībā
flex.
Sintakse
selektors {
flex-shrink: pozitīvs skaitlis;
}
Noklusējuma vērtība: 1.
Piemērs
Pieņemsim, ka mums ir 3 elementi. Katra no tiem platums
ir 200px un kopā tie ir 600px,
kas ir vairāk nekā vecākkonta platums, kurš
ir 350px:
<div class="parent">
<div class="child elem1">1</div>
<div class="child elem2">2</div>
<div class="child elem2">3</div>
</div>
.parent {
display: flex;
width: 350px;
height: 200px;
border: 1px solid red;
}
.child {
width: 200px;
height: 50px;
border: 1px solid green;
}
.elem1 {
flex-shrink: 1;
}
.elem2 {
flex-shrink: 2;
}
.elem3 {
flex-shrink: 3;
}
:
Aprēķināsim negatīvo brīvo telpu pēc formulas:
600px - 350px = 250px
Kopējais svērtais elementu platums
ņemot vērā īpašības flex-shrink vērtības
katram elementam būs:
200px * 1 + 200px * 2 + 200px * 3 = 1200px
Tagad noteiksim, cik daudz samazināsies pirmais elements:
250px * 1 (flex-shrink) * 200 (width) / 1200 = 41,6px
Otrais elements:
250px * 2 (flex-shrink) * 200 (width) / 1200 = 83,3px
Trešais elements:
250px * 3 (flex-shrink) * 200 (width) / 1200 = 125px
Izrādās, ka trešais elements, kuram īpašības
flex-shrink vērtība ir 3, samazināsies vairāk
nekā pārējie elementi.
Skatiet arī
-
īpašība
flex-direction,
kas nosaka flex bloku asu virzienu -
īpašība
justify-content,
kas nosaka izlīdzināšanu pa galveno asi -
īpašība
align-items,
kas nosaka izlīdzināšanu pa šķērsasi -
īpašība
flex-wrap,
kas nosaka flex bloku daudzrinduīgumu -
īpašība
flex-flow,
saīsinājums priekš flex-direction un flex-wrap -
īpašība
order,
kas nosaka flex bloku secību -
īpašība
align-self,
kas nosaka viena bloka izlīdzināšanu -
īpašība
flex-basis,
kas nosaka konkrēta flex bloka izmēru -
īpašība
flex-grow,
kas nosaka flex bloku "alkatību" -
īpašība
flex,
saīsinājums priekš flex-grow, flex-shrink un flex-basis