我想知道是否可以使用 css 实现“加速,然后滑行”动画,就像在这个3D.js 示例中一样
基本上,一个物体以 0 速度开始并加速其运动直到某一点,然后保持恒定速度。
我认为可以通过对同一元素应用两次旋转动画来完成,但参数不同: *第一次旋转:对象在 2 秒内旋转,没有延迟,具有缓入功能;* 之后:对象旋转 1.5 秒,延迟 2 秒以考虑第一次旋转,具有线性函数。这一次旋转无限重复。
所以我尝试了以下代码
.square {
width: 120px;
height: 120px;
background: #c00;
-webkit-animation:
spin 2s 0 ease-in 1,
spin 1.5s 2s linear infinite;
-moz-animation:
spin 2s 0 ease-in 1,
spin 1.5s 2s linear infinite;
animation:
spin 2s 0 ease-in 1,
spin 1.5s 2s linear infinite;
}
}
@-moz-keyframes spin {
100% { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
100% { transform:rotate(360deg); }
}
我知道它与 3D.js 示例不同,但它已经足够接近了。问题是对象在完成第一次旋转之前停止了一点,看起来很奇怪。
我准备了一个小提琴来显示问题:http: //jsfiddle.net/e0sLc8sw/
任何想法?
谢谢大家的帮助!