这是我第一次在css上做动画,我想做一个类似的效果www.example.com上的fishao.com,云如何移动,超越页面,然后他们返回,我的动画去到页面的末尾,然后回来,它不像在一个过渡,idk如何解释,请帮助。(编码3周)
body {
background-color: aliceblue;
}
img {
position: relative;
top: 80px;
left: 100vh;
height: 10%;
width: 11%;
animation: Cloudanim 50s linear infinite forwards;
}
@keyframes Cloudanim {
0% {
left: 100vh;
}
25% {
left: 50vh;
}
50% {
left: 0vh;
}
75% {
left: 165vh;
}
100% {
left: 100vh;
}
}
<img src="https://upload.wikimedia.org/wikipedia/commons/9/95/Cartoon_cloud.svg">
1条答案
按热度按时间apeeds0o1#
要创建连续动画,图像在页面上来回移动而不会突然返回,您可以按如下方式修改CSS和动画关键帧:
1.将图像的位置更改为绝对位置,以便它可以在页面中自由移动。
1.调整初始左侧值,将图像放置在页面左边缘之外(-10%)。
1.从动画中删除forward属性,使其能够平滑地重复而不反转。
1.不对left属性设置动画,而是将transform属性与translateX()一起使用以水平移动图像。这提供了更好的性能并避免了布局重新计算。
1.调整translateX()值中的距离以控制图像的移动。正值将图像向右移动,负值将图像向左移动。