Как сделать кроссбраузерное меню с резиновыми блоками?

Задача: сделать меню с резиновыми блоками и анимацией.

Для наглядности:
c5671745a45f417aace1a2ad0430043e.png

В левом блоке располагаются пункты меню, которые могут быть любой ширины (в зависимости от текста), но с одинаковыми паддингами.

В правом блоге располагается input text, при фокусе на котором уменьшается значение паддингов пунктов меню и блок с инпутом (и сам инпут) увеличивается.

Задачу решил следующим образом:
jsfiddle.net/andrhohlov/mD7Nd/1

Но есть проблема кросс-браузерности.

Если у блока .b-search-form указать свойство "display: table", то input в IE10 становится шириной в 100% от .b-global-nav и выезжает далеко за пределы меню.
48865403809f4b53b67d0e1ecca8040a.png

Если не указывать это свойство, то имеем проблему в Firefox - фиксированный размер input'a.
4e8ac301097644f3a59feabd9e50968e.PNG

В Chrome и Opera всё нормально при любом значении свойства. В Safari не проверял.

Требуется поддержка IE9+
  • Вопрос задан
  • 2812 просмотров
Пригласить эксперта
Ответы на вопрос 1
@spamforhope
Front-end developer
Попробуйте поиграть со свойством display. Может подойти это:
display: table-cell;

Chrome, Opera и Safari на одном движке - webkit, в них отображается все одинаково.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы