CSS實現loading小動畫

2021-10-08 12:13:56 字數 2162 閱讀 1749

相信各位上網過程中最不希望看到的就是載入中不停轉圈圈的畫面了

那麼他是怎麼實現的呢?其實通過一些簡單的css技巧就可以實現啦!

首先雙手奉上**

>

*body

.container

.box

span

.group

.container .box:nth-of-type(2)

.c1.c2

.c3.c4

.c5.c6

.c7.c8

@keyframes loading

50%100%

}style

>

head

>

>

class

="container"

>

class

="box"

>

class

="group"

>

class

="c8"

>

span

>

class

="c2"

>

span

>

div>

class

="group"

>

class

="c6"

>

span

>

class

="c4"

>

span

>

div>

div>

class

="box"

>

class

="group"

>

class

="c1"

>

span

>

class

="c3"

>

span

>

div>

class

="group"

>

class

="c7"

>

span

>

class

="c5"

>

span

>

div>

div>

div>

下面是實現的效果,我可能新增的陰影有點多,大家自己可以自己進行調整首先要做出這樣乙個動畫效果來,我們要去思考乙個問題:它是真的在轉圈圈嗎?

答案是:no

在我看來,其實很多特效不過是用了障眼法這讓我想起了《犯罪嫌疑人x的獻身》中的一句經典台詞:

看上去是幾何問題,實際上是函式問題

其實無論是在數學領域,還是在計算機領域,還是無論在其他任何領域,處理問題的關鍵就在於是否看清楚問題的本質為何。回到這個動畫,看起來是乙個旋轉的效果,其實是八個圓在原地在不同時延下放大縮小的結果

.container .box:nth-of-type(2)

50%100%

}

span

把我們所定義的時間分為兩個等份:

0~50%放大1倍;50% ~ 100%然後在還原到原來的大小,給乙個infinite,讓他無限迴圈。

這個時候你可以看到八個圓在原地一起變大變小

.c1

.c2.c3

.c4.c5

.c6.c7

.c8

這裡我給每乙個圓單獨設定了延遲時間

注意:這裡延遲的時間是負數的原因是讓他提前開始動畫,不然使用者剛進入頁面的時候才開始動畫的話,體驗會非常不連貫

到這裡基本這個loading小動畫就做完了,如何實現其實不重要,現在很多**都會採用**來直接實現,重點在於思路:處理問題時一定要看清楚問題的本質這個才是最重要的

如有不對的地方,請多多包涵與指正

css 光影劃過小動畫

今天學到了乙個小技巧,記錄下來。假設乙個按鈕,hover的時候有光影效果會顯得比較有質感,也是一種對使用者的響應吧。登入 button button after button hover after keyframes lightmoveto 如果載體是text,只希望在text上光影劃過,需要加一...

用css3實現求婚小動畫

然後一步步分析一下 w m img keyframes towoman 100 是乙個簡寫屬性,用於設定六個動畫屬性 keyframes 讓開發者通過指定動畫中特定時間點必須展現的關鍵幀樣式 或者說停留點 來控制css動畫的中間環節。這讓開發者能夠控制動畫中的更多細節而不是全部讓瀏覽器自動處理 tr...

小動畫之支付 PathMeasure

3.利用 pathmeasure 實現路徑動畫 小示例 4.支付動畫分析 它類似乙個計算器,可以計算出指定路徑的一些資訊,比如路徑總長 指定長度所對應的座標點等 初始化方法 方法一 pathmeasure pathmeasure newpathmeasure setpath path path bo...