css3實現橢圓軌跡旋轉

最近須要實現以下效果css

最開始用css3D旋轉寫,只能實現以下效果css3

沒辦法把全部的圓轉向正面,不知道是個人操做不對,仍是3d旋轉沒法實現,有知道的大佬還請賜教啊

無法用3d實現只能轉向2d了,只要實現按橢圓旋轉就ok了bash

1.X軸Y軸在一個矩形內移動

路徑爲斜線動畫

.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;}
}
複製代碼

2.設置動畫延遲

設置Y軸動畫延遲爲動畫時長的一半(延遲設爲負數動畫開始不會有延遲空白,感興趣的同窗能夠試試正數延遲),能夠看到運動軌跡變成菱形了,有點感受了spa

.ball {
    animation: 
      animX 2s linear 0s infinite alternate,
      animY 2s linear -1s infinite alternate
  }
複製代碼

3.設置三次貝塞爾曲線

.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
  }
複製代碼

4.縮小放大

爲了看起來有立體感添加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

相關文章
相關標籤/搜索