您好,登錄后才能下訂單哦!
本篇文章給大家帶來的內容是使用CSS實現小球拋物線運動動畫效果的代碼 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
一個物體實現拋物線運動,物理上是將物體分為水平運動(勻速)和豎直運動(加速);用css3實現原理也如此,用該元素需要兩層,一層控制水平,一層控制豎直;在css3中可以通過過渡或者動畫-timing-function的貝塞爾曲線設置速度,貝塞爾曲線的斜率就是物體運動的速度因此對豎直方向運動設置不同的貝塞爾公式便可以得到上拋、平拋、扭曲等各樣曲線運動。
主要實現如下html部分 主要兩層div一個控制水平運動, 一個控制豎直運動
<div class="wraper"> <!--控制豎直運動--> <div class="item"></div> <!--控制水平運動--> </div> <div class="item2"></div>
在css中也是比較簡單 直接設置水平和豎直的運動動畫 和進行動畫的設置
*{margin: 0;padding: 0} /*簡單的瀏覽器兼容*/ /*設置初始樣式*/ .item, .item2 { width:20px; height: 20px; display: inline-block; position: absolute; top: 50px; left: 20px; background-color: #00aa00; border-radius: 50%; } /*豎直運動*/ .wraper { animation: vertical-animation 2s .5s 2; animation-timing-function: cubic-bezier(.11,-.33,.55,.11); } /*水平運動*/ .wraper .item { animation: hor-animation 2s linear .5s 2; } @-moz-keyframes hor-animation { 0% { transform: translateX(0px); } 100% { transform: translateX(400px); } } @-webkit-keyframes hor-animation { 0% { transform: translateX(0px); } 100% { transform: translateX(400px); } } @-moz-keyframes vertical-animation { 0% { transform: translateY(0px); } 100% { transform: translateY(400px); } } @-webkit-keyframes vertical-animation { 0% { transform: translateY(0px); } 100% { transform: translateY(400px); } }
里面主要用的的就是貝塞爾曲線 斜率就是物體的運動速度 可以根據不同斜率 繪制各樣的曲線運動
以上就是使用CSS實現小球拋物線運動動畫效果的代碼的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。