最近須要實現以下效果css
最開始用css3D旋轉寫,只能實現以下效果css3
沒辦法把全部的圓轉向正面,不知道是個人操做不對,仍是3d旋轉沒法實現,有知道的大佬還請賜教啊動畫
無法用3d實現只能轉向2d了,只要實現按橢圓旋轉就ok了spa
路徑爲斜線3d
.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軸延遲爲動畫時長的一半,能夠看到運動軌跡變成菱形了,有點感受了code
.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軸的時間總和orm
.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) } }
大功告成!blog
完整效果地址ip
本篇如能對您有所幫助,實在是感到榮幸。若有不合理之處也請你們多多指點。get