CSS動畫實現(xiàn)跳動的足球(瘋狂世界杯)

前言
2022卡塔爾世界杯正在如火如荼的進(jìn)行之中,作為“諸神的黃昏”,本屆世界杯備受矚目,足壇巔峰老將c羅,梅西,內(nèi)馬爾也將隨本次世界杯退役,一代人的青春到此結(jié)束!本篇博客我將用css動畫寫一個簡單的跳動的足球,適合初學(xué)者練習(xí)css動畫,趕緊學(xué)起來吧!
最終效果
思路分析
這個效果的布局我是采用flex布局,素材都是背景圖片的方式,這些都沒啥可講的,自己去看代碼即可!
重點分析一下這個動畫,可以將這個效果分解為兩個動畫:
小球的動畫
可以看到小球有個向上跳動的動畫,同時在向上跳動的時候資深換有個旋轉(zhuǎn)!
陰影的動畫
陰影有個透明度和縮放的變化。
需要注意的是,小球的動畫和陰影的動畫所消耗的時間是一樣的,這樣才能保持動畫的同步。
還需要注意的是,第二個小球和第三個小球有個動畫延遲的效果!
下面就分別來看看這兩個簡單動畫的實現(xiàn)代碼吧!
小球的動畫
/*小球跳動的動畫*/ @keyframes move{ from{ transform: translateY(0) rotate(0); } to{ transform: translateY(-350px) rotate(-360deg); } }
由代碼可以看到向上移動了350px,移動的同時逆時針旋轉(zhuǎn)360度!
需要注意的是:移動 translate 一定要放在旋轉(zhuǎn) rotate 的前面!
陰影的動畫
/*陰影變化的動畫*/ @keyframes shadowMove{ 0%{ opacity: 0.5; transform: scale(0.75); } 100%{ opacity: 0.2; transform: scale(1); } }
由初態(tài)到終態(tài),透明度逐漸增大,縮放逐漸恢復(fù)!
代碼及素材獲取
代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>跳動的足球</title> <style> body{ width: 100vw; height: 100vh; display: flex; justify-content:center; align-items:flex-end; background: url(img/780.jpg) 0 -100px; } .box{ width: 350px; height: 300px; display: flex; flex-direction: column; justify-content: center; align-items: center; } .ball{ width: 100px; height:100px; background: url("img/782.jpg"); background-size: 100px 100px; border-radius: 100%; animation: move 1s infinite alternate; /*infinite無限循環(huán),alternate動畫反向執(zhí)行回到起點*/ } /*小球跳動的動畫*/ @keyframes move{ from{ transform: translateY(0) rotate(0); } to{ transform: translateY(-350px) rotate(-360deg); } } .shadow{ width:150px; height: 40px; background-color: #000; border-radius: 100%; opacity: 0.5; margin-top: -10px; animation: shadowMove 1s infinite alternate; /*infinite無限循環(huán),alternate動畫反向執(zhí)行回到起點*/ } /*陰影變化的動畫*/ @keyframes shadowMove{ 0%{ opacity: 0.5; transform: scale(0.75); } 100%{ opacity: 0.2; transform: scale(1); } } /* 第二個球動畫延遲0.2秒 */ .second .ball,.second .shadow{ animation-delay: 0.2s; } /* 第三個球動畫延遲0.5秒 */ .thrid .ball,.thrid .shadow{ animation-delay: 0.5s; } </style> </head> <body> <div class="box"> <div class="ball"></div> <div class="shadow"></div> </div> <div class="box second"> <div class="ball"></div> <div class="shadow"></div> </div> <div class="box thrid"> <div class="ball"></div> <div class="shadow"></div> </div> </body> </html>
圖片素材
結(jié)語
到此這篇關(guān)于CSS動畫實現(xiàn)跳動的足球(瘋狂世界杯)的文章就介紹到這了,更多相關(guān)css跳動足球內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
CSS使用SVG實現(xiàn)動態(tài)分布的圓環(huán)發(fā)散路徑動畫
這篇文章主要介紹了CSS使用SVG實現(xiàn)動態(tài)分布的圓環(huán)發(fā)散路徑動畫,第一時間看到這個需求想到的就是 SVG 或者 Canvas,但是由于開發(fā)時可能還需要插入其他元素,所以這里還是希2022-10-27- 粒子動畫就是頁面上存在大量的粒子構(gòu)建而成的動畫。傳統(tǒng)的粒子動畫主要由 Canvas、WebGL 實現(xiàn),接下來通過本文給大家介紹使用 CSS 構(gòu)建強大且酷炫的粒子動畫效果,感興趣的2022-08-09
- 本文主要介紹了利用CSS中的conic-gradient()以及box-shadow模擬出光源陰影效果,從而實現(xiàn)一個充滿高級感的背景光動畫,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-11-30
能用CSS實現(xiàn)的就不要麻煩JavaScript了
雖然萬物都可以是JavaScript,但某種程度css的運行效率會比JavaScript高,所以筆者認(rèn)為:能用CSS實現(xiàn)的就不用麻煩JavaScript2021-09-28