Минимальную ширину нужно рассчитать.
Для Ваших условий она будет равна:
(150px / 20%) * 100% = 750px Update:
Упустил, что ширина среднего блока может уменьшаться до нуля.
Но произведенное вычисление пригодится.
Решение такое:
@media screen and (max-width: 749px) {
.center {
width: -moz-calc(100% - 300px);
}
}
Поддержку функции
calc()
можно посмотреть здесь:
caniuse.com/#feat=calc
И для обертки нужно выбрать необходимую
min-width
, то есть, минимальную суммарную ширину трех блоков, которая будет больше 300px.