CSS3-loading動畫(五)

来源:http://www.cnblogs.com/smallcool/archive/2017/07/14/7170345.html
-Advertisement-
Play Games

CSS3-loading載入動畫 線上示例demo:http://liyunpei.xyz/loading.html 之前發了四篇,二十二個效果,今天再分享六個效果,總計二十八個效果。 二十三、效果二十三 兩個正方形,初始均定位至左上(top:0;left:0;); 一次完整運動分為四個階段:第一個 ...


CSS3-loading載入動畫

線上示例demo:http://liyunpei.xyz/loading.html

之前發了四篇,二十二個效果,今天再分享六個效果,總計二十八個效果。

二十三、效果二十三

 

兩個正方形,初始均定位至左上(top:0;left:0;);

一次完整運動分為四個階段:第一個階段,左上移動至右上,旋轉90°,寬高縮小;第二個階段,右上移動至右下,旋轉180°,寬高回覆;第三個階段,右下移動至左下,旋轉270°,寬高縮小;第四個階段,左下移動至左上,旋轉360°,寬高回覆。

動畫延遲時間差為負的半個動畫時間。

{animation: party_ball 2s ease infinite;}
@keyframes party_ball
{ 25% { -webkit-transform: scale(.5) rotateZ(90deg); transform: scale(.5) rotateZ(90deg); top: 0; left: 100%; } 50% { -webkit-transform: scale(1) rotateZ(180deg); transform: scale(1) rotateZ(180deg); top: 100%; left: 100%; } 75% { -webkit-transform: scale(.5) rotateZ(270deg); transform: scale(.5) rotateZ(270deg); top: 100%; left: 0; } 100% { -webkit-transform: scale(1) rotateZ(360deg); transform: scale(1) rotateZ(360deg); top: 0; left: 0; } }

二十四、效果二十四

 

類似於火焰的跳動效果,將三個方形div定位至橫向居中,縱向底部,初始寬高均設為0。

向上移動的同時,改變方形的寬高即可。

{animation: fire_ball 1.5s linear infinite;}
@keyframes fire_ball {
      50% {
        height: 30px;
        width: 30px;
        top: 50%;
      }
      100% {
        height: 0;
        width: 0;
        top: 0;
      }
    }

二十五、效果二十五

 

很像小時候玩的游戲——吃豆人

左側吃豆人的製作:兩個div寬高為0,只設置邊框,將右邊框的顏色屬性設置為transparent,代碼及效果如下:

.pac_head {
      border: 25px solid #fff;
      border-right-color: transparent;
      border-radius: 50%;
    }

吃豆人的嘴已經做出來了,剩下的,兩個div一個正向Z軸旋轉,一個反向Z軸旋轉,便做出來了吃的動作。

右側三個小球均定為至右側中部,向吃豆人的嘴中運動,將小球的動畫時間以及吃豆人的動畫時間調整適當即可。

@keyframes pac_ball {
      100% {
        right: 55%;
      }
    }

二十六、效果二十六

 

會跳動的紙片

這個效果難點就在於下落變形的效果怎麼做。其實很簡單。首先要明白,一個正方形,只要是繞Z軸旋轉90的倍數,那麼看起來與原圖是一模一樣的,那麼做這個效果就很簡單了,不用再考慮給每個角都加上一個變形的效果了。

變形效果:只要改變border-radius的值就可以產生這種變形了。

@keyframes beat_ball {
      25% {
        transform: translateY(25%) rotate(22.5deg);//下落
        border-bottom-right-radius: 10%;
      }
      50% {
        border-bottom-right-radius: 100%;
        transform: translateY(50%) scale(1, 0.8) rotate(45deg)   //scale,是為了讓形變看起來有彈性
      }
      75% {
        transform: translateY(25%) rotate(67.5deg)   //上升
      }
      100% {
        transform: translateY(0) rotate(90deg)        //旋轉90°結束一個周期,剛好和初始狀態一模一樣,那就直接重覆執行動畫即可
      }
    }

陰影的效果就更好說了,做一個扁的橢圓出來,box-shadow加上陰影效果,適時是改變大小就OK了。

@keyframes beat_shadow {
      50%{
        transform: scale(1.25,0.8);
      }
    }

二十七、效果二十七

 

一個div,一個偽類就做出來了。

div負責旋轉,偽類負責改變高度,各司其職就做來了。

@keyframes locker_ball {           //div旋轉
      25%{
        transform: rotateZ(180deg);
      }
      50%{
        transform: rotateZ(180deg);
      }
      75%{
        transform: rotateZ(360deg);
      }
      100%{
        transform: rotateZ(360deg);
      }
    }
    @keyframes locker_ballh {     //偽類高度改變
      25%{
        height: 40px;
      }
      50%{
        height: 0;
      }
      75%{
        height: 0;
      }
      100%{
        height: 40px;
      }
    }

二十八、效果二十八

 

時鐘的效果(我的定位好像沒有定在正中間)

時鐘的效果只用到一個關鍵幀動畫就搞定了,那就是旋轉360°,只要改變兩個指針的動畫運動時間即可。

@keyframes clock {
      100%{
        transform: rotateZ(360deg);
      }
    }

 

 

本系列動畫中,有的停頓效果是通過關鍵幀控制從某百分比到某百分比一直保持該狀態達到的;而有的則是通過運動曲線ease來實現的。

 

完結撒花~過周末~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 初始化本地git倉庫(創建新倉庫) git init 配置用戶名 git config --global user.name "xxx" 配置郵件 git config --global user.email "[email protected]" git status等命令自動著色 git config -- ...
  • 假如同一個標簽被多個選擇器選中,每個選擇器都設置了相同的樣式,瀏覽器中載入時這個樣式聽誰的? 不同選擇器設置的同一個樣式,只會選擇一個進行載入,不會疊加。 為瞭解決聽誰的問題,引入層疊性的概念。 層疊性:多個選擇器選中同一個標簽,設置同一個樣式,瀏覽器中載入時,不會載入所有的屬性值,挑選其中一個載入 ...
  • 以下兩種方法都是將兩個網頁放在同一個文件夾里,是同級文件。 一、HTML 鏈接是通過 <a> 標簽進行定義的 (這裡的網頁命名方式不准確,需根據特定情況命名) 二、另一種鏈接是通過JavaScript實現 (這種方法需要引用jquery,jquery需要下載,,我在圖片上會用紅圈畫出引用的jquer ...
  • 什麼是LESSCSS LESSCSS是一種動態樣式語言,屬於CSS預處理語言的一種,它使用類似CSS的語法,為CSS的賦予了動態語言的特性,如變數、繼承、運算、函數等,更方便CSS的編寫和維護。 LESSCSS可以在多種語言、環境中使用,包括瀏覽器端、桌面客戶端、服務端。 語言特性快速預覽: 變數: ...
  • 做了一個網站,放到線上,用微信打開,點擊分享,可是分享後發給朋友的鏈接卡片是微信預設自帶的,如下: 這標題,描述以及圖片是預設自帶的,醜不說,分享給別人還以為是盜號網站呢,而接入微信的JSSDK後,分享可以自定義內容,如下: 我承認,雖然這分享的標題和內容也並不正經,但這不妨礙我表達 我們可以通過微 ...
  • 我們把這些用戶信息保存到list的數組中,然後增刪改查就在這個數組上進行: 這裡面的表單有:文本輸入框,單選按鈕,select選擇框,覆選框等。 1. 展示數據 我們的數據都放在數組list中,但是這裡並不直接對list對迴圈輸出,而是先把list中的數據給一個數組slist,對slist進行迴圈輸 ...
  • web前端開發的工作流程的第一步就是根據ui給的psd來還原設計圖樣貌。 可是一打開滿屏的參考線。這時我們可以alt+v+d清空參考線 這時可以按alt+滑鼠拖放圖片。同時也可以按F進入半屏和勻速連按兩次F進入全屏。F7為調出圖層面板。 下一步,是找到我們需要的圖層圖片。 (前提是設置了) 接著 總 ...
  • 一.概述 JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。 JavaScri ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...