Egenskaben flex-shrink
Egenskaben flex-shrink bestemmer,
hvor meget en flex-blok vil formindskes i forhold til
naboelementer inde i flex-containeren
ved mangel på ledig plads.
For eksempel, hvis alle flex-blokke inde i flex-containeren
har flex-shrink:1, vil de have
samme størrelse. Hvis en af dem har
flex-shrink:2, vil den være 2
gange mindre end alle de andre.
Anvendes på: en specifik flex-blok.
Denne egenskab indgår som en del af shorthand-egenskaben
flex.
Syntaks
selektor {
flex-shrink: positivt tal;
}
Standardværdi: 1.
Eksempel
Lad os sige, at vi har 3 elementer. Bredden af hver af dem
er 200px, og samlet er de 600px,
hvilket er mere end bredden af forældrecontaineren, som
er 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;
}
:
Lad os beregne den negative ledige plads med formlen:
600px - 350px = 250px
Den samlede vægtede bredde af elementerne
med hensyn til værdierne af egenskaben flex-shrink
for hvert element vil være:
200px * 1 + 200px * 2 + 200px * 3 = 1200px
Lad os nu bestemme, hvor meget det første element vil formindskes:
250px * 1 (flex-shrink) * 200 (width) / 1200 = 41,6px
Andet element:
250px * 2 (flex-shrink) * 200 (width) / 1200 = 83,3px
Tredje element:
250px * 3 (flex-shrink) * 200 (width) / 1200 = 125px
Det betyder, at det tredje element, hvis værdi
flex-shrink er 3, vil formindskes mere
end de andre elementer.
Se også
-
egenskaben
flex-direction,
som angiver retningen af flex-blokkenes akser -
egenskaben
justify-content,
som angiver justering langs hovedaksen -
egenskaben
align-items,
som angiver justering langs den tværgående akse -
egenskaben
flex-wrap,
som angiver fleksibilitet af flex-blokke på flere linjer -
egenskaben
flex-flow,
shorthand for flex-direction og flex-wrap -
egenskaben
order,
som angiver rækkefølgen af flex-blokke -
egenskaben
align-self,
som angiver justering af en enkelt blok -
egenskaben
flex-basis,
som angiver størrelsen på en specifik flex-blok -
egenskaben
flex-grow,
som angiver "grådigheden" af flex-blokke -
egenskaben
flex,
shorthand for flex-grow, flex-shrink og flex-basis