Есть пример CSS-анимации
https://jsfiddle.net/82h2cLLf/ работает по событию hover.
1) Как сделать так что бы анимация начиналась при попадании в видимую область экрана (прокрутке до элемента)
2) Можно ли это сделать на CSS или только на JS
3) Если можно на CSS, то как сделать так что бы при прокрутке обратно (вверх) анимация уже не работала?