我正在学习动画,并尝试使div
(其中带有input
)向上移动然后向右移动。
向上过渡看起来很流畅。但是,向右过渡会“跳”起来,并以较高的点(相对于先前的状态)结束。
我在做什么错了?
代码:
.container {
top: 30%;
position: absolute;
animation: move 5s 1;
}
input {
width: 100px;
height: 10px;
}
@keyframes move {
0% {
top: 30%;
}
50% {
top: 10%;
}
100% {
top: 10%;
left: 20%;
}
}
<div class="container">
<input />
</div>
答案 0 :(得分:1)
问题是您的left
没有已知的起始位置,因此也没有起始动画的位置。请尝试以下操作:
.container {
top: 30%;
left: 0%;
position: absolute;
animation: move 5s 1;
}
input {
width: 100px;
height: 10px;
}
@keyframes move {
0% {
top: 30%;
left: 0%;
}
50% {
top: 10%;
left: 0%;
}
100% {
top: 10%;
left: 20%;
}
}
<div class="container">
<input />
</div>