最近看到微信阅读上面的本周推荐卡片的滚动动画效果,就想试试也实现一下。乍一看感觉只需做一下倾斜和移动的动画即可以了,其实主要的难点是如何做到无缝循环。
微信阅读效果
image倾斜
使用 transform: rotate() 就可
滚动
使用 CSS Animation
@keyframes move { 0% { transform: translateX(...); } 100% { transform: translateX(...); }}无缝循环
这个是难点。
首先需要明确的是,动画开始的画面和动画结束的画面应该是同一个画面,这样才能做到无缝循环。
screenshot为此,需要添加少量重复的元素在末尾,作为衔接下次循环的过渡。
两个要素:
imagedemo
https://codepen.io/youngmaxer/pen/aQbXNp?editors=1100