亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS3中怎么用一個div做彈跳小動畫

發布時間:2022-03-04 15:01:54 來源:億速云 閱讀:126 作者:iii 欄目:web開發

本篇內容主要講解“CSS3中怎么用一個div做彈跳小動畫”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CSS3中怎么用一個div做彈跳小動畫”吧!

利用偽元素

由于只使用了一個div,要同時達到正方形旋轉與陰影縮放的效果,這里必須使用兩個偽元素(before與after)來完成,嚴格來說,雖然只有一個div,但是卻是把這個div當作外框,讓偽元素before作為旋轉的正方形,讓偽元素after作為陰影。

.box{
  position:relative;
}.box:before{
  content:'';
  position:absolute;
  z-index:2;
  top:60px;
  left:50px;
  width:50px;
  height:50px;
  background:#c00;
  border-radius:2px;
  transform: rotate(45deg);
}.box:after{
  content:'';
  position:absolute;
  z-index:1;
  top:128px;
  left:52px;
  width:44px;
  height:3px;
  background:#eaeaea;
  border-radius:100%;
}

CSS3中怎么用一個div做彈跳小動畫

CSS動畫

畫出正方形與陰影之后,再來就是要做動畫了,為了避免太過復雜,這里我們先不要旋轉,先單純讓正方形上下跳動,然后陰影會放大縮小,下面的示例的動畫,又新增了20%與80%的keyframe,目的是為了讓接觸的時候角落才會變圓,不然就會變成剛開始移動時尖角就變圓,就會很怪異了。

.box:before{
  content:'';
  position:absolute;
  z-index:2;
  top:60px;
  left:50px;
  width:50px;
  height:50px;
  background:#c00;
  border-radius:2px;
  transform: rotate(45deg);
  -webkit-animation:box .8s infinite ; 
}@-webkit-keyframes box{
  0%{    top:50px;
  }  20%{    border-radius:2px;  /*從20%的地方才開始變形*/
  }  50%{    top:80px; 
    border-bottom-right-radius:25px;
  }  80%{    border-radius:2px;  /*到80%的地方恢復原狀*/
  }  100%{    top:50px;
  }}.box:after{
  content:'';
  position:absolute;
  z-index:1;
  top:128px;
  left:52px;
  width:44px;
  height:3px;
  background:#eaeaea;
  border-radius:100%;
  -webkit-animation:shadow .8s infinite ; 
}@-webkit-keyframes shadow{
  0%,100%{    left:54px;
    width:40px;
    background:#eaeaea;
  }  50%{    top:126px;
    left:50px;   /*讓陰影保持在原位*/
    width:50px;
    height:7px;
    background:#eee;
  }}

CSS3中怎么用一個div做彈跳小動畫

加入旋轉效果

了解原理之后,我們只要再加上旋轉的屬性,就可以達到彈跳起來的時候有旋轉的效果,不過這里又有用到一個小技巧,就是落下的時候是90度轉到45度,彈上去的時候從45旋轉到0度,然后在這一瞬間從0度變成90度(100%到0%),如此一來我們就會產生錯覺,感覺好像一直在旋轉了。

@-webkit-keyframes box{
  0%{    top:50px;
    transform: rotate(90deg); /**/
  }  20%{    border-radius:2px;
  }  50%{    top:80px; 
    transform: rotate(45deg);
    border-bottom-right-radius:25px;
  }  80%{    border-radius:2px;
  }  100%{    top:50px;
    transform: rotate(0deg);
  }}專門建立的學習Q-q-u-n:⑦⑧④-⑦⑧③-零①②,分享學習方法和需要注意的小細節,不停更新最新的教程和學習技巧
(從零基礎開始到前端項目實戰教程,學習工具,全棧開發學習路線以及規劃)

到此,相信大家對“CSS3中怎么用一個div做彈跳小動畫”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳州市| 图片| 延庆县| 南丰县| 合阳县| 北安市| 桦南县| 长兴县| 固安县| 贵阳市| 当涂县| 玉门市| 福建省| 东乡族自治县| 砀山县| 洛南县| 滕州市| 临桂县| 行唐县| 松江区| 塔河县| 云安县| 舟曲县| 镇安县| 双桥区| 南岸区| 丰城市| 慈溪市| 太谷县| 卓尼县| 万宁市| 庆云县| 兴城市| 新竹市| 犍为县| 林州市| 苗栗市| 高密市| 阜新市| 乐至县| 吉水县|