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