Беглый взгляд на то, как Apple это сделала, похоже, что их большой шаг заключается в следующем (я могу ошибаться - я тороплюсь):
#globalheader #globalnav li {
display: table-cell;
width: 100%;
overflow: hidden;
}
Это довольно необычное значение отображения CSS, и со своей стороны оно умное, заставляя <li>
работать как <td>
. Это означает, что изменение ширины одной из «ячеек» заставляет других в том же «ряду» регулировать, сколько места они занимают.
Да здравствует (подделка) табличный макет!
Итак, предполагая, что CSS возможен для вас, и я не уклоняюсь от базового взгляда на их код, ваша единственная задача - анимировать ширину поля поиска - остальное должно последовать его примеру.