如果您曾經訪問過 Nicolas Zezuka 和 Active Theory 的出色的設計網站,你可能已經注意到在顯示新內容之前動感的頁面加載動畫了。這種風格的動畫效果最近非常流行,因此這篇文章想給你帶來一些啟示。
這個效果的核心是讓一個形狀在頁面窗口中動畫顯示并有展示活動的指示。當新內容被加載時,形狀將以動畫顯示返回顯示的頁面。我們將使用 Snap.svg 動畫庫來實現,因為這個庫讓我們能夠創建復雜的形狀和有趣的變形轉換效果。
在線演示
需要注意的是,這里的示例只是提供一種思路,動態內容加載是模擬的。另外沒有做降級處理,動畫和偽元素可能在某些瀏覽器無法正常工作。
溫馨提示:為保證最佳的效果,請在 IE10+、Chrome、Firefox 和 Safari 等現代瀏覽器中瀏覽。
我們顯示遮罩的方式是,定義一個 SVG 路徑動畫:
我們定義的初始路徑在頁面中是看不到的,開始和結果路徑分別定義在 data-opening 和 data-closing 屬性中。正如你所看到的,我們使用的是小型的 viewBox,但我們舒展繪圖窗口的寬度和高度為100%,而不是保持長寬比。如果我們沒有定義一個閉合的路徑,我們將動畫回到初始路徑。
請注意,我們也可以添加多個路徑(用分號隔開),它允許 SVG 繪制你將在第一演示中看到的步驟明智的動畫。 我們設置疊加劃分到一個固定的位置,覆蓋了整個頁面,并通過給 ::before 和 ::after 偽元素添加樣式來實現加載提示效果。
新聞熱點
疑難解答