前端骨架屏
骨架屏 最近在项目不时有用到骨架屏的需求,所以抽时间对骨架屏的方案作了一下调研,骨架屏的实践已经有很多了,也有很多人对自己的方案作了介绍.在这里按照个人的理解做了一个汇总和分类,分享给大家. 关于骨架屏(简介) 骨架屏就是在页面数据尚未加载前先给用户展示出页面的大致结构,直到请求数据返回后再渲染页面,补充进需要显示的数据内容。常用于文章列表、动态列表页等相对比较规则的列表页面。 很多项目中都有应用:ex:饿了么h5版本,知乎,facebook等网站中都有应用。 借个图举例如下: 两类用途 简介中作了关于用途的说明,但是仍然可以继续细分: 作为spa中路由切换的loading,结合组件的生命周期和ajax请求返回的时机来使用. 作为首屏渲染的优化. 第一类用途 第一类用途需要自己编写骨架屏,推荐两个成熟方便定制的svg组件定制为骨架屏的方案 react-content-loader vue-content-loader 作为首屏渲染(自动化方案) 该方案是饿了么在骨架屏的实践中总结出的一套方案: 骨架屏的dom结构和css通过离线生成后构建的时候注入模板中的节点下面. 原理相关 eleme骨架屏插件实现原理 方案的项目地址: page-skeleton-webpack-plugin 使用时候的注意点: cssUnit的配置: 需要使用自适应的单位,按照文档给出的选择范围选,直接用