Добрый вечер!
Недавно столкнулся с такой проблемой. Если у блока не задана ширина, то не получится сделать плавной анимации увеличения (а в последующем и уменьшения обратно) ширины этого блока. Вот пример на
codepen.
Пробовал через функцию animate jq. Указывал при наведении width 100%, при потере фокуса width: auto. Получается только плавно увеличить блок, при потере фокуса ничего не происходит, блок так и остаётся на 100%.