源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 2418|回复: 0
打印 上一主题 下一主题

[CSS/Html] 有谁知道骨架屏吗?骨架屏(简介)

[复制链接]

3102

主题

3503

帖子

13万

金币

超级版主

Rank: 8Rank: 8

积分
271670
跳转到指定楼层
1#
发表于 2023-3-21 14:07:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

是不是有一些人对这个词比较陌生?这个是一个非常不错的高等级占位符加载效果!

最近在项目不时有用到骨架屏的需求,所以抽时间对骨架屏的方案作了一下调研,骨架屏的实践已经有很多了,也有很多人对自己的方案作了介绍.在这里按照个人的理解做了一个汇总和分类,分享给大家。

关于骨架屏(简介)

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

很多项目中都有应用:ex:饿了么h5版本,知乎,facebook等网站中都有应用。

借个图举例如下:



两类用途
简介中作了关于用途的说明,但是仍然可以继续细分:

作为spa中路由切换的loading,结合组件的生命周期和ajax请求返回的时机来使用.

作为首屏渲染的优化.

第一类用途
第一类用途需要自己编写骨架屏,推荐两个成熟方便定制的svg组件定制为骨架屏的方案

react-content-loader

vue-content-loader

作为首屏渲染(自动化方案)
该方案是饿了么在骨架屏的实践中总结出的一套方案:

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

原理相关eleme骨架屏插件实现原理

方案的项目地址:page-skeleton-webpack-plugin

使用时候的注意点:

1、cssUnit的配置: 需要使用自适应的单位,按照文档给出的选择范围选,直接用 px 生成的比例会不合适

2、puppeteer有大概80M, 安装的时候有可能不能一次下载成功.

原理:

通过 puppeteer 在服务端操控 headless Chrome 打开开发中的需要生成骨架屏的页面,在等待页面加载渲染完成之后,在保留页面布局样式的前提下,通过对页面中元素进行删减或增添,对已有元素通过层叠样式进行覆盖,这样达到在不改变页面布局下,隐藏图片和文字,通过样式覆盖,使得其展示为灰色块。然后将修改后的 HTML 和 CSS 样式提取出来,这样就是骨架屏了.



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-5-2 21:59 , Processed in 0.031266 second(s), 16 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明