Guest User

Untitled

a guest
Sep 25th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. FLEX-GROW:
  2.  
  3. 1 шаг. Рассчитываем свободное место во флекс-контейнере:
  4.  
  5. Свободное место = Ширина контейнера - Сумма базовых размеров элементов
  6. 2 шаг. Считаем размер минимальной доли свободного места:
  7.  
  8. Доля свободного места = Свободное место / Сумма flex-grow всех элементов
  9. 3 шаг. Базовый размер каждого флекс-элемента увеличиваем на размер минимальной доли свободного места умноженной на значение flex-grow этого элемента:
  10.  
  11. Итоговый размер = Базовый размер + (Доля свободного места * flex-grow)
  12.  
  13.  
  14. FLEX-SHRINK
  15.  
  16. Ниже описан механизм расчёта размеров элементов, когда места в контейнере не хватает:
  17.  
  18. 1 шаг. Рассчитываем отрицательное пространство (ОП) во флекс-контейнере:
  19.  
  20. ОП = Ширина контейнера - Сумма базовых размеров элементов
  21. 2 шаг. Находим сумму произведений базовых размеров (СПБР) элементов на их коэффициенты сжатия:
  22.  
  23. СПБР = (Базовый размер1 * flex-shrink1) + (Базовый размер2 * flex-shrink2) + … + (Базовый размерn * flex-shrinkn)
  24. 3 шаг. Для каждого элемента считаем «нормированный коэффициент сжатия» (НКС), для чего произведение базового размера элемента на его коэффициент сжатия делим на СПБР:
  25.  
  26. НКС = (Базовый размер * flex-shrink) / СПБР
  27. 4 шаг. Базовый размер элемента уменьшаем на часть ОП пропорциональную НКС элемента:
  28.  
  29. Итоговый размер = Базовый размер - (НКС * ОП)
Add Comment
Please, Sign In to add comment