Egenskapen flex-shrink
Egenskapen flex-shrink definerer i hvilken grad
en flex-blokk vil forminskes i forhold til
tilleggselementer inne i flex-containeren
ved mangel på ledig plass.
For eksempel, hvis alle flex-blokker inne i flex-containeren
har flex-shrink:1, vil de ha
samme størrelse. Hvis en av dem har
flex-shrink:2, vil den være 2
ganger mindre enn alle de andre.
Gjelder for: en spesifikk flex-blokk.
Denne egenskapen inngår som en del av sammensatte egenskapen
flex.
Syntaks
selector {
flex-shrink: positivt tall;
}
Standardverdi: 1.
Eksempel
La oss si at vi har 3 elementer. Bredden på hver av dem
er 200px og til sammen er de 600px,
noe som er mer enn bredden på foreldrecontaineren, 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;
}
:
La oss beregne den negative ledige plassen med formelen:
600px - 350px = 250px
Den samlede vektede bredden på elementene
med hensyn til verdiene for egenskapen flex-shrink
for hvert element vil være:
200px * 1 + 200px * 2 + 200px * 3 = 1200px
La oss nå bestemme hvor mye det første elementet vil reduseres:
250px * 1 (flex-shrink) * 200 (width) / 1200 = 41,6px
Andre element:
250px * 2 (flex-shrink) * 200 (width) / 1200 = 83,3px
Tredje element:
250px * 3 (flex-shrink) * 200 (width) / 1200 = 125px
Det viser seg at det tredje elementet, som har en verdi
på flex-shrink lik 3, vil reduseres mer
enn de andre elementene.
Se også
-
egenskapen
flex-direction,
som angir retningen på flex-blokkenes akser -
egenskapen
justify-content,
som angir justering langs hovedaksen -
egenskapen
align-items,
som angir justering langs kryssaksen -
egenskapen
flex-wrap,
som angir flerlinthet for flex-blokker -
egenskapen
flex-flow,
sammensatt egenskap for flex-direction og flex-wrap -
egenskapen
order,
som angir rekkefølgen på flex-blokker -
egenskapen
align-self,
som angir justering av en enkelt blokk -
egenskapen
flex-basis,
som angir størrelsen på en spesifikk flex-blokk -
egenskapen
flex-grow,
som angir "grådigheten" til flex-blokker -
egenskapen
flex,
sammensatt egenskap for flex-grow, flex-shrink og flex-basis