什么是骨架屏

骨架屏就是在页面数据尚未加载前先给用户展示出页面的大致结构,直到请求数据返回后再渲染页面,补充进需要显示的数据内容。常用于文章列表、动态列表页等相对比较规则的列表页面

是进度条和菊花圈的进化产物

作用

1.作为首屏渲染的优化

2.比其他的加载提示更人性化,能让用户更直接感知布局和内容

3.提升用户体验,增加用户存留率

组成

类似一个静态的html

文本块:仅包含文本节点(NodeType 为 Node.TEXT_NODE)的元素(NodeType 为 Node.ELEMENT_NODE),一个文本块可能是一个 p 元素也可能是 div 等。文本块将会被转化为灰色条纹。

图片块:图片块是很好区分的,任何 img 元素都将被视为图片块,图片块的颜色将被处理成配置的颜色,形状也被修改为配置的矩形或者圆型。

按钮块:任何 button 元素、 type 为 button 的 input 元素,role 为 button 的 a 元素,都将被视为按钮块。按钮块中的文本块不在处理。

svg 块:任何最外层是 svg 的元素都被视为 svg 块。

伪类元素块:任何伪类元素都将视为伪类元素块,如 ::before 或者 ::after。

如何制作骨架屏svg

1.vue组件
2.react组件
3.ng组件
4.自定义svg在线生成骨架屏

vue和react的组件中,除了可以自定义,也有一些现成的骨架屏svg,比如公司类型的Facebook Style,比如布局类型 List Style,功能类型的Code Style
如果适用自己的话可以直接引用组件就行

可行性和构建原理

1.vue/react/ng 这三大框架都有一个共同的特定,其都是 JS 驱动,在 JS 代码解析完成之前
直接展示的是

<div id="app"><!-- 内容为空 或者可以输入自己喜欢的东西,在js解析成功之前都会展示这里的内容,js展示完成会替换掉这里-->
</div>

所以骨架屏可以在js解析成功之前放在这里,以此类推

2.骨架屏的dom结构和css通过离线生成后构建的时候注入模板中的节点下面.

如何引入到自己的项目

1.手工工场时代

手写css配合svg注入页面
一旦页面布局有所更改我们就需要跟着去更改,所以出现了下面这张图

2.蒸汽时代,借助插件

通过使用插件page-skeleton-webpack-plugin方式通过Puppeteer API 结合webpackage动态生成 骨架屏,生成原理看[大神的这边文章][6]该插件还不是很智能,目前只能支持首屏的骨架屏生成,还不支持局部的

3.下个时代

思索

1.通过设置某个div含有某个属性或者class定性为需要骨架占位符,渲染的时候作为一个常规骨架屏输出,然后又真实内容再做替换

参考

1.https://github.com/Jocs/jocs....
2.https://juejin.im/post/59ef52...
3.https://juejin.im/post/5b79a2...

#周分享#骨架屏[Skeleton Screen]相关推荐

  1. Android中骨架屏(Skeleton Screen)使用

    Android中骨架屏(Skeleton Screen)使用 1.什么是骨架屏 页面在没有完全渲染完成之前,用户会看到一个占位的样式,用以描绘了当前页面的大致框架,加载完成后,最终骨架屏中各个占位部分 ...

  2. 骨架屏 (Skeleton Screen)

    https://blog.csdn.net/lmh_19941113/article/details/87979419

  3. CSS实现骨架屏 Skeleton 效果

    转自:掘金 - CodingStartup起码课 https://juejin.cn/post/6916748944789733390 现在很多网站在加载数据的时候,为了避免页面过于空白,都会用这种方 ...

  4. 【CSS】骨架屏 Skeleton 效果

    点击上方关注 前端技术江湖,一起学习,天天进步 现在很多网站在加载数据的时候,为了避免页面过于空白,都会用这种方式预告将会有内容载入,从而提升用户体验: 这个效果中文叫作骨架屏,英文叫 Skeleto ...

  5. vue-cli 构建的项目如何加入骨架屏 skeleton

    在使用 Native APP 时我们经常可以看到在实际内容加载出来之前会有一些 占位图片,因为其结构和实际加载内容相似(如新闻页面加载之前也会有一个纵向列表),因此让用户感知到自己的页面正在加载中,体 ...

  6. Skeleton Screen — 骨架屏

    用户体验一直是前端开发需要考虑的重要部分,在数据请求时常见到锁屏的loading动画,而现在越来越多的产品倾向于使用Skeleton Screen Loading(骨架屏)替代,以优化用户体验. 一种 ...

  7. 网页骨架屏自动生成方案分享

    来源:花满楼 https://zhuanlan.zhihu.com/p/74403911 什么是骨架屏? 什么是骨架屏呢?骨架屏(Skeleton Screen)是指在页面数据加载完成前,先给用户展示 ...

  8. 【Web技术】785- 网页骨架屏自动生成方案分享

    来源:花满楼 https://zhuanlan.zhihu.com/p/74403911 什么是骨架屏? 什么是骨架屏呢?骨架屏(Skeleton Screen)是指在页面数据加载完成前,先给用户展示 ...

  9. 网页骨架屏自动生成方案(附源码地址)

    点击上方"程序员黑叔",选择"置顶或者星标" 你的关注意义重大! 来源:花满楼 https://zhuanlan.zhihu.com/p/74403911 什么 ...

最新文章

  1. mysql 给min值取别名_mysql基本命令
  2. Nacos源码HostReactor
  3. 一个最简单的SAP UI5应用部署到SAP云平台CloudFoundry环境后,自动生成了哪些资源
  4. scroll-view 横向滑动无效的问题
  5. python业余项目_学会这8个优秀 Python 库用于业余项目,将大大减少程序员耗费的精力...
  6. javascript热身运动-了解最基本的知识
  7. 高性能访客记录系统如何设计?
  8. LibFewShot:小样本学习与细粒度分类(二) -- 数据集、训练、测试
  9. cache log:minzip: zlib inflate call failed (zerr=-3)
  10. C# For Koyo PLC Serial Port Communication Library,C# 与光洋PLC通讯库,光洋PLC通讯,PLC通讯,光洋
  11. 【机器人学习】六自由度机械臂动力学分析(扭矩计算)
  12. 验证码短信是如何实现的?怎么用短信平台发送验证码短信?
  13. Raspberry Pi 上手准备
  14. 【华人学者风采】张良培 武汉大学
  15. 6-9 计算捐款总量 (10 分)
  16. 阿里云数据库(RDS)查看空间使用情况
  17. win10下设置超清晰壁纸
  18. 程序员“薪资被应届生倒挂“现象明显,跳槽还是等待?
  19. 原理c语言for循环延时1s,for循环实现C语言精确延时
  20. 计算机如何删除用不到的打印机驱动程序,打印机驱动不能删除怎么办 打印机驱动无法删除的解决方法...

热门文章

  1. linux初学者-普通磁盘分区篇
  2. java redis 批量删除key_互联网大厂Java工程师面试指南——Redis篇
  3. java https jasonrpc_以太坊 ethereum JSON-RPC java 调用示例
  4. SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
  5. 用shell将时间字符串与时间戳互转
  6. Saltstack_实战指南01_系统规划
  7. Java语言基础22--访问权限
  8. 阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义
  9. url携带的参数获取并处理demo
  10. [转]JavaScript优化方案