Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FLEX-GROW:
- 1 шаг. Рассчитываем свободное место во флекс-контейнере:
- Свободное место = Ширина контейнера - Сумма базовых размеров элементов
- 2 шаг. Считаем размер минимальной доли свободного места:
- Доля свободного места = Свободное место / Сумма flex-grow всех элементов
- 3 шаг. Базовый размер каждого флекс-элемента увеличиваем на размер минимальной доли свободного места умноженной на значение flex-grow этого элемента:
- Итоговый размер = Базовый размер + (Доля свободного места * flex-grow)
- FLEX-SHRINK
- Ниже описан механизм расчёта размеров элементов, когда места в контейнере не хватает:
- 1 шаг. Рассчитываем отрицательное пространство (ОП) во флекс-контейнере:
- ОП = Ширина контейнера - Сумма базовых размеров элементов
- 2 шаг. Находим сумму произведений базовых размеров (СПБР) элементов на их коэффициенты сжатия:
- СПБР = (Базовый размер1 * flex-shrink1) + (Базовый размер2 * flex-shrink2) + … + (Базовый размерn * flex-shrinkn)
- 3 шаг. Для каждого элемента считаем «нормированный коэффициент сжатия» (НКС), для чего произведение базового размера элемента на его коэффициент сжатия делим на СПБР:
- НКС = (Базовый размер * flex-shrink) / СПБР
- 4 шаг. Базовый размер элемента уменьшаем на часть ОП пропорциональную НКС элемента:
- Итоговый размер = Базовый размер - (НКС * ОП)
Add Comment
Please, Sign In to add comment