В примере ниже при использовании text-overflow: ellipsis flex-контейнер row2 расширяется за границы главного контейнера. В данном примере я использую flex-basis: 90% для row2. Если использовать, например, width: 90%, то элемент все равно будет вылезать за пределы контейнера, так как между row1 и row2 есть margin.
https://jsfiddle.net/8krtL9ev/1/
Проблема появляется только при text-overflow: ellipsis. Если же текст влезает в panel, то все хорошо и панель занимает ровно 50% от row2.
Подскажите пожалуйста, с чем связано такое поведение и как сделать так, чтобы панель занимала 50% от row2, а при наличии свободного места расширялась до 100% от row2, и чтобы при этом текст обрезался корректно и row2 не вылезал за пределы container?
UPD: Вариант с калькулируемой шириной не подходит, так как у меня есть несколько последовательных контейнеров и ширина красного блока должна быть именно 10% от всего контейнера:
https://jsfiddle.net/j13gzr1e/1/.