每週乙個前端動畫之一 UC瀏覽器球隊展示動畫的實現

2021-08-15 20:35:28 字數 1107 閱讀 9712

作為乙個輕度偽球迷,經常會看些賽事比分,比如英超(利物浦是冠軍)。使用uc的朋友應該發現過,uc在展示比賽時的效果還是很炫的,動畫很簡單,但是效果的確不錯。效果圖如下:

經過觀察不難發現:

分析出以上四點,就會發現效果實現起來也不複雜。

動畫使用css3的幀動畫實現animation,不熟悉該屬性用法的同學需要補補課了。注意該屬性的相容性寫法,safari 和 chrome需要寫成-webkit-animation

我們只分析左側曼聯logo的實現即可。從logo進入到動畫定格,我們將整個過程分成4個部分,可以確定4個關鍵幀:

@-webkit-keyframes team-logo-left {}
關鍵幀1:logo放大一倍,x軸偏離初始位置到窗體外部。

0%
關鍵幀2:logo放大一倍,x軸偏離初始位置到窗體中間部分,並稍作停頓,所以使用了50%,60%作停頓,時間函式使用了cubic-bezier來調整。

50%, 60%
關鍵幀3:logo恢復到正常大小,x軸偏離初始位置略左側,透明度已經變成完全不透明。

85%
關鍵幀4:即從偏左位置到達最終的停留位置

計時函式animation-timing-function動畫的實現其實很簡單,**已上傳到github,歡迎提出issues

最後的慣例,貼上我的部落格,歡迎關注

每週乙個js重要概念之一 呼叫堆疊

js寫了也有兩年多了,大到複雜的後台系統,小到頁面,還有日均300萬的網頁主站,html5的適配頁面等等。框架也雜七雜八接觸了不少,從小的jquery bootstrap echarts等等,到大一些的框架vue san er,還有配套的dust axios vuex等等,也嘗試了去讀原始碼,發現還...

每週乙個 Python 模組 string

每週乙個 python 模組 目的 包含用於處理文字的常量和類。string 模組可以追溯到最早的 python 版本。先前在此模組中實現的許多功能已移至 str 物件方法。string 模組保留了幾個有用的常量和類來處理 str 物件。直接看下面的事例 import string s the qu...

每週乙個 Python 模組 fnmatch

每週乙個 python 模組 fnmatch 模組主要用於檔名的比較,使用 unix shell 使用的 glob 樣式模式。fnmatch 將單個檔名與模式進行比較並返回布林值,來看它們是否匹配。當作業系統使用區分大小寫的檔案系統時,比較區分大小寫。import fnmatch import os...