Вы можете использовать display: table-cell;
для .subnav
и display: table;
для своего родителя, .navigation
(или лучше table-row
для своего родителя и table
для родителя последнего,но это уже работает так;))
Вот скрипка: http://jsfiddle.net/Cyc4n/1/
РЕДАКТИРОВАТЬ: в моем примере я добавил table-layout: fixed
и большой отступ справа от логотипа.Это в качестве примера, если вы хотите точный контроль над вашими предметами.Не стесняйтесь удалять оба, если вы хотите, чтобы браузер делал все возможное для управления шириной элементов.
Вы также можете использовать CSS3 Flexible Box Layout , но его поддержка хуже, чем CSS2 display: table;
!Хотя все должно быть в порядке, если вы специально настроили таргетинг на «мобильные» (узкие экраны) с помощью Media Queries: браузеры, поддерживающие Media Queries, также должны поддерживать Flexbox (это адаптивный дизайн с настольным компьютером, а не мобильным).
EDIT2: поддержка display: table*;
это IE8 +.У вас уже есть запасной вариант для IE7 - с inline-block
;)