У
Николай также хорошее решение, просто добавлю свое.
В общем, набросал суть примерно
https://jsfiddle.net/webirus/j96st1fd/
Раскрасил, если вдруг решишь разобраться, а не просто скопировать.
Есть еще одно решение, с помощью keyframes, но его писать лень.