Правило для распределения дефицита места. Задается для flex-child
По умолчанию flex-shrink: 1;
.flex-child {
flex-basis: 200px;
/* flex-shrink: 1; */
}
Пример расчета занимаемого места:
дефицит места = 960px - 6 * 200px = -240px
сумма всех flex-shrink = 1 * 6 = 6
на 1 flex-shrink приходится 240px / 6 = 40px
ширина элемента равна 200px - flex-shrink * 40px
flex-shrink: 1; // 200px - 1 * 40 = 160px
.flex-child {
flex-basis: 400px;
}
.flex-child:nth-of-type(1) {
flex-shrink: 1;
}
.flex-child:nth-of-type(2) {
flex-shrink: 2;
}
.flex-child:nth-of-type(3) {
flex-shrink: 2;
}
Пример расчета занимаемого места:
дефицит места = 960px - 3 * 400px = -240px
сумма всех flex-shrink = 1 + 2 + 2 = 5
на 1 flex-shrink приходится 240px / 5 = 48px
ширина элемента равна 400px - flex-shrink * 48px
flex-shrink: 1; // 400px - 1 * 48 = 352px
flex-shrink: 2; // 400px - 2 * 48 = 304px
.flex-child {
flex-basis: 400px;
}
.flex-child:nth-of-type(1) {
flex-shrink: 1;
}
.flex-child:nth-of-type(2) {
flex-shrink: 4;
}
.flex-child:nth-of-type(3) {
flex-shrink: 1;
}
Пример расчета занимаемого места:
дефицит места = 960px - 3 * 400px = -240px
сумма всех flex-shrink = 1 + 4 + 1 = 6
на 1 flex-shrink приходится 240px / 5 = 40px
ширина элемента равна 400px - flex-shrink * 40px
flex-shrink: 1; // 400px - 1 * 40 = 360px
flex-shrink: 2; // 400px - 4 * 40 = 240px
.flex-child {
flex-basis: 200px;
}
.flex-child:nth-of-type(1) {
flex-shrink: 1;
}
.flex-child:nth-of-type(2) {
flex-shrink: 2;
}
.flex-child:nth-of-type(3) {
flex-shrink: 3;
}
.flex-child:nth-of-type(4) {
flex-shrink: 4;
}
.flex-child:nth-of-type(5) {
flex-shrink: 5;
}
.flex-child:nth-of-type(6) {
flex-shrink: 6;
}
Пример расчета занимаемого места:
дефицит места = 960px - 6 * 200px = -240px
сумма всех flex-shrink = 1 + 2 + 3 + 4 + 5 + 6 = 21
на 1 flex-shrink приходится 240px / 21 = 11.43px
ширина элемента равна 200px - flex-shrink * 11.43px
flex-shrink: 1; // 200px - 1 * 11.43 = 188.57px
flex-shrink: 2; // 200px - 2 * 11.43 = 177.14px
...
flex-shrink: 2; // 200px - 6 * 11.43 = 131.42px