CSS動畫實現(xiàn)跳動的足球(瘋狂世界杯)
前言
2022卡塔爾世界杯正在如火如荼的進行之中,作為“諸神的黃昏”,本屆世界杯備受矚目,足壇巔峰老將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




