成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端骨架屏方案小結(jié)

MasonEast / 1850人閱讀

摘要:常用于文章列表動(dòng)態(tài)列表頁(yè)等相對(duì)比較規(guī)則的列表頁(yè)面。很多項(xiàng)目中都有應(yīng)用餓了么版本知乎等網(wǎng)站中都有應(yīng)用。歡迎討論,點(diǎn)個(gè)贊再走吧

骨架屏

最近在項(xiàng)目不時(shí)有用到骨架屏的需求,所以抽時(shí)間對(duì)骨架屏的方案作了一下調(diào)研,骨架屏的實(shí)踐已經(jīng)有很多了,也有很多人對(duì)自己的方案作了介紹.在這里按照個(gè)人的理解做了一個(gè)匯總和分類,分享給大家.

關(guān)于骨架屏(簡(jiǎn)介)

骨架屏就是在頁(yè)面數(shù)據(jù)尚未加載前先給用戶展示出頁(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:餓了么h5版本,知乎,facebook等網(wǎng)站中都有應(yīng)用。
借個(gè)圖舉例如下:

兩類用途

簡(jiǎn)介中作了關(guān)于用途的說(shuō)明,但是仍然可以繼續(xù)細(xì)分:

作為spa中路由切換的loading,結(jié)合組件的生命周期和ajax請(qǐng)求返回的時(shí)機(jī)來(lái)使用.

作為首屏渲染的優(yōu)化.

第一類用途

第一類用途需要自己編寫骨架屏,推薦兩個(gè)成熟方便定制的svg組件定制為骨架屏的方案

react-content-loader

vue-content-loader

作為首屏渲染(自動(dòng)化方案)

該方案是餓了么在骨架屏的實(shí)踐中總結(jié)出的一套方案:

骨架屏的dom結(jié)構(gòu)和css通過(guò)離線生成后構(gòu)建的時(shí)候注入模板中的節(jié)點(diǎn)下面.

原理相關(guān)eleme骨架屏插件實(shí)現(xiàn)原理

方案的項(xiàng)目地址:page-skeleton-webpack-plugin

使用時(shí)候的注意點(diǎn):

cssUnit的配置: 需要使用自適應(yīng)的單位,按照文檔給出的選擇范圍選,直接用 px 生成的比例會(huì)不合適

puppeteer有大概80M, 安裝的時(shí)候有可能不能一次下載成功.

原理:

通過(guò) puppeteer 在服務(wù)端操控 headless Chrome 打開開發(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)使用:

事先編寫好骨架屏組件通過(guò)ssr render 解析注入html文件中(除了需要自己編寫外其實(shí)過(guò)程類似于上面的自動(dòng)化方案)參考文章

1中事先編寫好的骨架屏組件可以用圖片代替 (svg) ;或者設(shè)計(jì)師設(shè)計(jì)好.

小程序的骨架屏

不存在預(yù)渲染的概念,但是還是可以通過(guò)自己預(yù)先編寫骨架屏組件放在頁(yè)面中,等到異步請(qǐng)求的數(shù)據(jù)回來(lái)后更新頁(yè)面.

廣而告之

本文發(fā)布于薄荷前端周刊,歡迎Watch & Star ★,轉(zhuǎn)載請(qǐng)注明出處。

歡迎討論,點(diǎn)個(gè)贊再走吧 ????? ~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98393.html

相關(guān)文章

  • 前端骨架方案小結(jié)

    摘要:常用于文章列表動(dòng)態(tài)列表頁(yè)等相對(duì)比較規(guī)則的列表頁(yè)面。很多項(xiàng)目中都有應(yīng)用餓了么版本知乎等網(wǎng)站中都有應(yīng)用。歡迎討論,點(diǎn)個(gè)贊再走吧 骨架屏 最近在項(xiàng)目不時(shí)有用到骨架屏的需求,所以抽時(shí)間對(duì)骨架屏的方案作了一下調(diào)研,骨架屏的實(shí)踐已經(jīng)有很多了,也有很多人對(duì)自己的方案作了介紹.在這里按照個(gè)人的理解做了一個(gè)匯總和分類,分享給大家. 關(guān)于骨架屏(簡(jiǎn)介) 骨架屏就是在頁(yè)面數(shù)據(jù)尚未加載前先給用戶展示出頁(yè)面的大...

    IntMain 評(píng)論0 收藏0
  • 前端骨架方案小結(jié)

    摘要:常用于文章列表動(dòng)態(tài)列表頁(yè)等相對(duì)比較規(guī)則的列表頁(yè)面。很多項(xiàng)目中都有應(yīng)用餓了么版本知乎等網(wǎng)站中都有應(yīng)用。歡迎討論,點(diǎn)個(gè)贊再走吧 骨架屏 最近在項(xiàng)目不時(shí)有用到骨架屏的需求,所以抽時(shí)間對(duì)骨架屏的方案作了一下調(diào)研,骨架屏的實(shí)踐已經(jīng)有很多了,也有很多人對(duì)自己的方案作了介紹.在這里按照個(gè)人的理解做了一個(gè)匯總和分類,分享給大家. 關(guān)于骨架屏(簡(jiǎn)介) 骨架屏就是在頁(yè)面數(shù)據(jù)尚未加載前先給用戶展示出頁(yè)面的大...

    TerryCai 評(píng)論0 收藏0
  • 用純 DOM 的方式結(jié)合 Puppeteer 自動(dòng)生成網(wǎng)頁(yè)骨架

    摘要:可以通過(guò)的提供的直接控制模擬大部分用戶操作來(lái)進(jìn)行或者作為爬蟲訪問(wèn)頁(yè)面來(lái)收集數(shù)據(jù)。 ??骨架屏是在頁(yè)面數(shù)據(jù)尚未加載完成前先給用戶展示出頁(yè)面的大致結(jié)構(gòu),直到請(qǐng)求數(shù)據(jù)返回后再顯示真正的頁(yè)面內(nèi)容;隨著單頁(yè)應(yīng)用( SPA )的越來(lái)越流行,單頁(yè)應(yīng)用的用戶體驗(yàn)也越來(lái)越得到前端開發(fā)者的關(guān)注;為了優(yōu)化用戶體驗(yàn),在數(shù)據(jù)到達(dá)用戶之前,往往會(huì)在頁(yè)面上加上 loading 的效果,而現(xiàn)在,越來(lái)越多的場(chǎng)景傾向于使...

    BlackHole1 評(píng)論0 收藏0
  • Vue單頁(yè)面骨架實(shí)踐

    github 地址: VV-UI/VV-UI 演示地址: vv-ui 文檔地址:skeleton 關(guān)于骨架屏介紹 骨架屏的作用主要是在網(wǎng)絡(luò)請(qǐng)求較慢時(shí),提供基礎(chǔ)占位,當(dāng)數(shù)據(jù)加載完成,恢復(fù)數(shù)據(jù)展示。這樣給用戶一種很自然的過(guò)渡,不會(huì)造成頁(yè)面長(zhǎng)時(shí)間白屏或者閃爍等情況。 常見的骨架屏實(shí)現(xiàn)方案有ssr服務(wù)端渲染和prerender兩種解決方案。這里主要通過(guò)代碼為大家展示如何一步步做出這樣一個(gè)骨架屏: show...

    DevTTL 評(píng)論0 收藏0
  • Vue單頁(yè)面骨架實(shí)踐

    github 地址: VV-UI/VV-UI 演示地址: vv-ui 文檔地址:skeleton 關(guān)于骨架屏介紹 骨架屏的作用主要是在網(wǎng)絡(luò)請(qǐng)求較慢時(shí),提供基礎(chǔ)占位,當(dāng)數(shù)據(jù)加載完成,恢復(fù)數(shù)據(jù)展示。這樣給用戶一種很自然的過(guò)渡,不會(huì)造成頁(yè)面長(zhǎng)時(shí)間白屏或者閃爍等情況。 常見的骨架屏實(shí)現(xiàn)方案有ssr服務(wù)端渲染和prerender兩種解決方案。這里主要通過(guò)代碼為大家展示如何一步步做出這樣一個(gè)骨架屏: show...

    you_De 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<