你可能会说
加载的时候别白屏,先显示个占位
数据还没加载出来时先撑住的灰色占位块
看一眼它长什么样
正在加载…
林晓
产品经理 · 14:20
首页先上骨架屏,等接口稳定了再换成真实数据。
上面这些交互全部由 CSS 完成,没有加载任何脚本 —— 和真实产品里的组件是同一个道理。
大白话解释
骨架屏是页面刚打开、数据还在路上时先给你看的一堆灰色方块。它们按真实内容的样子摆好,标题的位置一条灰条,图片的位置一块灰块,等数据回来再原地换成真内容。
它像装修前贴在墙上的家具轮廓贴纸,让你提前知道沙发会摆哪、电视挂哪,心里有个数,不至于空荡荡盯着白屏发呆。
它真正解决的是等待时的焦虑感。同样的两秒,白屏让人觉得卡了,骨架屏让人觉得正在加载,甚至有种内容马上要长出来的感觉,用户就愿意多等一会儿。
什么时候会遇到
- 看设计稿时除了正常页面,还附了一张全是灰色方块的版本,标题写着加载态。
- 产品说首屏白屏太久,让你先放个骨架屏撑住观感。
- 发现骨架屏飘了一下就消失,数据其实秒回,反而闪得更难看。
- 骨架块的样子和真内容对不上,数据回来后整页乱跳,位置全变了。
- 跟 Agent 沟通时你说数据来之前先放灰色方块,对方要确认是骨架屏还是加载转圈。
可以直接对 Agent 说
「列表第一次加载时先显示骨架屏,每行左边一个圆形灰块当头像,右边两条长短不一的灰条当文字,等接口返回再替换成真实内容。」
「骨架屏的形状要和真内容完全对齐,数据回来的时候不能出现跳动或者高度突然变化,避免页面闪一下。」
「如果接口三百毫秒内就返回了,就不要显示骨架屏了,省得闪一下,超过这个时间才把它显示出来。」
正文里带下划线的词,是本站其它词条的入口;这一篇自动链了 2 个相关术语。
最容易想岔的地方
常见的错误理解: 骨架屏就是个转圈圈的替代品,反正都是等
更准确的理解: 骨架屏要照着真实内容的形状画 —— 头像位置画圆、标题位置画横线。形状对不上,内容出来时页面会跳一下,比转圈更难受
常见的错误理解: 骨架屏做得越花越好,加点闪光更有科技感
更准确的理解: 骨架屏只是过渡,闪太久会让人以为卡死了。加载超过几秒,就该换成明确的进度或者错误提示
测一下:真遇到了你会怎么处理
单选 · 选完立刻看解释
列表数据要请求 2 秒才回来,这 2 秒里页面显示什么最好?
选一个最合适的。
-
骨架屏提前把结构画出来,内容到位时只是「填上」,不会有跳版,感知上也更快。
-
能用,但内容出现时布局会整体跳一下,用户视线要重新找位置。
-
白屏两秒,大部分人会以为页面卡死,然后开始刷新。
题目只考「这个场景下的第一反应」,不考名词背诵 —— 骨架屏的定义在上面已经讲过了。