У меня нет времени на написание какого-либо кода прямо сейчас, но некоторые указатели, которые могут помочь;
1) Вам нужно будет использовать JavaScript в сочетании с CSS и, возможно, такую инфраструктуру, как jQuery,Нет смысла заново изобретать колесо, в jQuery уже встроены отличные анимационные материалы.
2) Разбейте анимацию на этапы того, что происходит на самом деле.Примерно так, тень появляется, создавая впечатление, что форма поднялась со страницы, контент исчезает, ширина формы анимируется до 0, затем происходит обратный процесс с новым содержимым.
3) Есть много отличныхЭффекты манипулирования DOM уже есть, ищите классное переключение контента jquery и т. Д., Вы найдете много.