新聞中心
小編給大家分享一下計(jì)算機(jī)中骨架屏是什么,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)建站專(zhuān)業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專(zhuān)業(yè)提供成都服務(wù)器托管,服務(wù)器租用,西云機(jī)房,西云機(jī)房,成都多線(xiàn)服務(wù)器托管等服務(wù)器托管服務(wù)。
骨架屏
最近在項(xiàng)目不時(shí)有用到骨架屏的需求,所以抽時(shí)間對(duì)骨架屏的方案作了一下調(diào)研,骨架屏的實(shí)踐已經(jīng)有很多了,也有很多人對(duì)自己的方案作了介紹.在這里按照個(gè)人的理解做了一個(gè)匯總和分類(lèi),分享給大家。
關(guān)于骨架屏(簡(jiǎn)介)
骨架屏就是在頁(yè)面數(shù)據(jù)尚未加載前先給用戶(hù)展示出頁(yè)面的大致結(jié)構(gòu),直到請(qǐng)求數(shù)據(jù)返回后再渲染頁(yè)面,補(bǔ)充進(jìn)需要顯示的數(shù)據(jù)內(nèi)容。常用于文章列表、動(dòng)態(tài)列表頁(yè)等相對(duì)比較規(guī)則的列表頁(yè)面。
很多項(xiàng)目中都有應(yīng)用:ex:餓了么h6版本,知乎,facebook等網(wǎng)站中都有應(yīng)用。
借個(gè)圖舉例如下:
兩類(lèi)用途
簡(jiǎn)介中作了關(guān)于用途的說(shuō)明,但是仍然可以繼續(xù)細(xì)分:
作為spa中路由切換的loading,結(jié)合組件的生命周期和ajax請(qǐng)求返回的時(shí)機(jī)來(lái)使用.
作為首屏渲染的優(yōu)化.
第一類(lèi)用途
第一類(lèi)用途需要自己編寫(xiě)骨架屏,推薦兩個(gè)成熟方便定制的svg組件定制為骨架屏的方案
react-content-loader
vue-content-loader
作為首屏渲染(自動(dòng)化方案)
該方案是餓了么在骨架屏的實(shí)踐中總結(jié)出的一套方案:
骨架屏的dom結(jié)構(gòu)和css通過(guò)離線(xiàn)生成后構(gòu)建的時(shí)候注入模板中的節(jié)點(diǎn)下面.
原理相關(guān)eleme骨架屏插件實(shí)現(xiàn)原理
方案的項(xiàng)目地址:page-skeleton-webpack-plugin
使用時(shí)候的注意點(diǎn):
1、cssUnit的配置: 需要使用自適應(yīng)的單位,按照文檔給出的選擇范圍選,直接用 px 生成的比例會(huì)不合適
2、puppeteer有大概80M, 安裝的時(shí)候有可能不能一次下載成功.
原理:
通過(guò) puppeteer 在服務(wù)端操控 headless Chrome 打開(kāi)開(kāi)發(fā)中的需要生成骨架屏的頁(yè)面,在等待頁(yè)面加載
渲染完成之后,在保留頁(yè)面布局樣式的前提下,通過(guò)對(duì)頁(yè)面中元素進(jìn)行刪減或增添,對(duì)已有元素通過(guò)層疊樣
式進(jìn)行覆蓋,這樣達(dá)到在不改變頁(yè)面布局下,隱藏圖片和文字,通過(guò)樣式覆蓋,使得其展示為灰色塊。然后
將修改后的 HTML 和 CSS 樣式提取出來(lái),這樣就是骨架屏了.

其他方案
結(jié)合ssr render/prerender來(lái)使用:
事先編寫(xiě)好骨架屏組件通過(guò)ssr render 解析注入html文件中(除了需要自己編寫(xiě)外其實(shí)過(guò)程類(lèi)似于上面的自動(dòng)化方案)參考文章
1中事先編寫(xiě)好的骨架屏組件可以用圖片代替 (svg) ;或者設(shè)計(jì)師設(shè)計(jì)好.
小程序的骨架屏
不存在預(yù)渲染的概念,但是還是可以通過(guò)自己預(yù)先編寫(xiě)骨架屏組件放在頁(yè)面中,等到異步請(qǐng)求的數(shù)據(jù)回來(lái)后更新頁(yè)面。
看完了這篇文章,相信你對(duì)“計(jì)算機(jī)中骨架屏是什么”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱(chēng):計(jì)算機(jī)中骨架屏是什么
分享URL:http://www.dlmjj.cn/article/goehpp.html


咨詢(xún)
建站咨詢(xún)
