Здравствуйте! Объясните пожалуйста, в чём суть этого “Расчёта итогового размера с flex-shrink”, если мне как раз таки flex-shrink и нужно определить?
Выходит, что нужно наугад подбирать значения flex-shrink и вставлять в эту формулу? Что-то я запутался(
Также прошу объяснить, почему у вас в формуле расчёта итогового размера с flex-shrink отрицательное пространство вдруг из отрицательного значения становится положительным?
и вообще данный случай решается проще:
racoon-green нужно уменьшить в два раза, и racoon-brown нужно уменьшить в два раза. Значит, их коэфициенты одинаковы. Может, это просто совпадение, или это и есть способ решения?
И да, про уравнение со всеми неизвестными flex-shrink я тоже не понял. А вариант про JavaScript не объясняет формулу, это читтерство
ребят, проще использовать обратную формулу вычисления.
Для растяжения:
допустим коэффициент первого элемента flex-grow=x1.
x1/(сумма всех xn)=(Итоговый размер-Базовый размер)/(Ширина контейнера-(сумма базовых размеров элементов))
Верхнее значение и будет нашим коэффициентом.Пример из испытания:
Базовые размеры трех элементов=25px. Итоговые размеры 50,100 и 150.
Считаем по формуле:
x1/(сумма всех xn)=1/9
x2/(сумма всех xn)=3/9
x3/(сумма всех xn)=5/9
Сжатие:
допустим коэффициент первого элемента flex-shrink=y1.
Базовый размер первого элемента* y1=Базовый размер - Итоговый размер/(-Отрицательное пространство)
Пример:
Базовые размеры: 200,400,200
Итоговые размеры: 150, 100,50 соответственно
y1/(y1+(2 * y2)+y3)=1/10
y2/(y1+(2 * y2)+y3)=3/10
y3/(y1+(2 * y2)+y3)=3/10
Наверно как-то так…у меня все сошлось
ясен красен что эта формула для обратного счета. речь то шла о том как собственно сам flex-grow посчитать, т.к. обычно мы знаем исходные размеры и конечные. никто в здравом уме не считает конечные размеры перебором flex-grow и flex-shrink. от дизайнера поступает четкая задача: было 100px, стало 75px. сделайте красиво на флексах.
вот это “допустим” очень радует. я вам говорю что подстановка это не научно, а вы мне “ну вот же по формуле подставляем”. формула не подразумевает подгонку результатов, а точно должна высчитывать неизвестную при всех остальных известных и может быть представлена в ином виде. то что приводят авторы курса это какая-то гуманитарная профанация. им на это уже указывали в нескольких тредах.
так это “допустим” для лучшего написания формулы. Это не подгонка как вы выразились, а точный расчет. Вам для лучшего понимания на листочке написать? Здесь простая математика. Авторы просто оставили возможность самостоятельно додумать.
точный расчет, основанный на выборе параметрического значения? вау. я даже комментировать это не могу.
вот вам задача №12
базовые размеры 100 и 300.
их нужно вписать в контейнер 200, сохранив пропорции.
задача решается исключительно подбором flex-shrink.
“формула” только проверяет решение, не решая абсолютно практической задачи (поиск .flex-shrink)
да, вы правы, на практике не применить…Из расчета получается вот так:
первый элемент flex-shrink:1;
второй элемент flex-shrink:1;
Тогда почему в испытании помогло?
мож кому и помогло, но я в свое время подбором его сделал, т.к. перевернув эту формулу и решив параметрическое уравнение, я получил такие корни, которые не удовлетворяют решению. не формула это короче =)
это обычное уравнение с 2мя неизвестными
так как тут коэффициенты равны, то хватает решить уравнение для одного из элементов,
если бы не были равны, надо было бы выражать один коэффициент через другой и использовать 2 уравнения
о, математики в треде, класс, с заданием №12 вы справились, оно беcпонту легкое, т.к. корни равны друг другу. но тогда помогите с решением по тем же формулам с решением задачи № 11. ура! я нашел кто мне расскажет как по этим формулам считать
Если у элемента flex-grow выставлен на 3, это не означает того, что он будет в три раза больше чем элемент у которого flex-grow стоит с параметром 1. Это будет означать то, что он получит в три раза больше пикселей к изначальной ширине, чем другой элемент.
Это первый ключевой аспект flex-grow и flex-shrink.
Соотношение размеров к друг другу, второй ключевой аспект.
Первый ключевой аспект + второй ключевой аспект = поднятый капюшон!!!
я тоже завтыкал в этой теме, но 10к лет это слишком…)))
Серьёзно?
за 3 года никто так и не дал вразумительного ответа по теме shrink? (комментарий не к обычным пользователям)
Значит 3wc придумали грандиозный выход для создания более менее вразумительных плавающих блоков, на ряду с float но и эти получились какие-то капризные девчёнки, которых необходимо уламывать с танцами и бубном. Ужас!
Вопрос grow решился при помощи маленькой программки на javascript, но shrink вообще не вариант((( думал хотя бы у вас тут что-то чёткое/цифровое найду, но к сожалению нет(