Почему min-width и max-width не работает с float?
На самом деле работают эти свойства.
Но float`нутые блоки сжимаются до своего содержимого. Если ширина содержимого у вас будет менее min-width, то ширина блока станет равной min-width. Если ширина содержимого будет более max-width, то ширина блока также станет равной max-width. В остальных случаях ширина блока будет равной ширине содержимого.
UPD:
Вот, я накидал примерчик. По-моему, похоже на то, что вам нужноjsfiddle.net/DelphinPRO/hm3ewt1d/
UPD2:
Или может быть так, если ширина у блоков должна быть постоянной.jsfiddle.net/DelphinPRO/hm3ewt1d/1/
@media-query вам в руки, если вас правильно понял.