如何實現優美的骨架屏

2022-02-06 05:30:39 字數 847 閱讀 9997

對於前端來說,最重要的莫過於使用者體驗了,這次我們聊一聊骨架屏 - skeleton screen

我們平常對於需要請求載入的內容,可能用的比較多的是loading動畫,比如在內容區域放乙個菊花圖,當請求結束,並且render tree構造完成後,將菊花圖移除,展示使用者想看的內容。雖然這種方式沒啥缺點,但是現在更多的**開始使用骨架屏代替,因為它能帶過來更好的使用者體驗。

我們看幾個例子:

facebook

jira

linkedin

slack

上圖展示中,我們可以看到每個site從骨架圖到真實內容的乙個變化。如果你細心一點你會發現,不同site對於骨架圖的block位置是不一致的:

不過他們都有乙個共同點,就是採用簡約的方式布局,我們可以以此為例,創造出獨一無二的風格,來提高使用者體驗和加強品牌的風格,我想這會比乙個loading logo帶來更好的效果。

上面簡單的介紹了一下骨架圖,接下來我們來說一下具體實現吧。

優先我們實現乙個簡單的帶有loading效果的骨架結構:

有一點需要說一下,由於我們使用的是漸變色的動畫效果,所以我們的布局有一點的變化,我們採用的是整體加上背景色,然後內容使用定位和left,right來構成block的方式,具體內容請參考上面的**

效果如下:

餓了麼骨架圖方案

ssr,請求後用puppeteer插入script生成當前頁的骨架圖,或者build的時候直接生成(個人覺得應該是這種),然後插入到根元素內,然後資料載入後直接隱藏並展示真實資料

分塊,對於,將採用最小大小尺寸 1 * 1的純色gif圖,然後進行拉伸

資料請求後對骨架進行隱藏等操作

uniapp實現骨架屏

前言 使用者在等待資料渲染的時候,有可能因為網路速度慢,手機硬體等問題,造成等待時間延長,使得使用者體驗不好。之前的做法是放個載入中的圖示,而現在是直接根據頁面原有元素繪製圖形的方式,讓使用者有種頁面就快渲染好的錯覺。載入過程效果圖 如圖,從圖一到圖二,最底部多出了乙個動態載入的骨架,模擬同一頁面多...

如何設計出優美的Web API?

熱文索引,堅持原創不易,請小夥伴們不吝 推薦 支援 1.程式設計師必須掌握的效能調優 x y z 2.程式設計師必須懂的架構入門課 1 2 3 3.如何把單體式應用拆解成微服務?上 4.如何把單體式應用拆解成微服務?下 5.如何寫好產品幫助文件?web api的應用場景非常豐富,例如 將已有系統的功...

React 如何實現骨架屏的展示 Suspense

react新增了乙個功能 suspense元件,幫助我們 等待 目標 載入,並且可以直接指定乙個載入的介面 像是個 spinner 讓它在使用者等待的時候顯示 一 引入 suspense import react,from react 二 使用 suspense 載入的內容 三 注意的點 僅處理介面...