最近須要實現以下效果css
最開始用css3D旋轉寫,只能實現以下效果css3
無法用3d實現只能轉向2d了,只要實現按橢圓旋轉就ok了bash
路徑爲斜線動畫
.ball {
animation:
animX 2s linear infinite alternate,
animY 2s linear infinite alternate
}
@keyframes animX{
0% {left: 0px;}
100% {left: 500px;}
}
@keyframes animY{
0% {top: 0px;}
100% {top: 300px;}
}
複製代碼
設置Y軸動畫延遲爲動畫時長的一半(延遲設爲負數動畫開始不會有延遲空白,感興趣的同窗能夠試試正數延遲),能夠看到運動軌跡變成菱形了,有點感受了spa
.ball {
animation:
animX 2s linear 0s infinite alternate,
animY 2s linear -1s infinite alternate
}
複製代碼
.ball {
animation:
animX 2s cubic-bezier(0.36, 0, 0.64, 1) -1s infinite alternate,
animY 2s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate
}
複製代碼
爲了看起來有立體感添加scale
屬性,scale動畫應該是X軸和Y軸的時間總和3d
.ball1 {
animation:
animX 2s cubic-bezier(0.36, 0, 0.64, 1) -1s infinite alternate,
animY 2s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate,
scale 4s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate;
}
@keyframes scale {
0% {
transform: scale(0.7)
}
50% {
transform: scale(1)
}
100% {
transform: scale(0.7)
}
}
複製代碼
大功告成!code
完整效果地址orm
本篇如能對您有所幫助,實在是感到榮幸。若有不合理之處也請你們多多指點。cdn