Блин описанием вопроса создал что-то интригующее и ужасающее в моих мыслях, а там обычный ездящий блок...
Ну что там сложно, при ховере берете позицию элемента, и двигаете на него абсолютно спозиционированный, на котором висит транзишн + подгоняете ширину. При анховере возвращаете обратно. Я насчитал 8 строчечек кода.