CSS 动画中如何让元素从 30% 到 100% 再循环到 30% 时平滑过渡?
突变效果之 css 动画
在 css 动画中,要实现元素突变效果,需要用到负数的延时属性(animation-delay)。例如,以下代码将创建两个方块,第一个方块从左到右移动,第二个方块从 30% 开始移动到 100%,然后再从 0 开始移动到 30%。
<div class="block"></div> <div class="block start3"></div>
@keyframes move { 0% { left: 0; } 100% { left: 100px; } } .block { animation: 10s linear; } .start3 { animation-delay: -3s; }
但是,如果要实现元素从 30% 到 100%,然后从 0 到 30% 的循环运动,则需要分开编写动画:
@keyframes move-part1 { 0% { left: 30%; } 100% { left: 100%; } } @keyframes move-part2 { 0% { left: 0; } 100% { left: 30%; } } .block { animation: move-part1 5s, move-part2 5s infinite; }
这时,为了避免元素回到起始位置时产生突变,可以将元素设置为透明或移动到容器外部后再返回到初始位置。
以上就是CSS 动画中如何让元素从 30% 到 100% 再循环到 30% 时平滑过渡?的详细内容,更多请关注其它相关文章!