当前位置: 首页 > news >正文

【前端】骨架屏

长期更新补充+实战。

content

  • 简介
  • 骨架屏的实现原理
  • 实战


简介

骨架屏(Skeleton Screen)是一种在页面加载过程中用于改善用户体验的设计模式。它通过在页面内容完全加载前,显示一个占位的界面来让用户感知页面正在加载,从而减少等待的焦虑感。

  • 骨架屏的作用和优势:
  1. 提升用户体验:
    在页面加载时,直接显示一个空白或是加载动画可能会让用户感到页面没有响应。而骨架屏通过预先渲染页面的结构(例如占位符、灰色块、模糊的布局等),让用户知道页面正在加载,从而减少了加载过程中的焦虑感。
  2. 避免空白页面:
    直接显示空白页面或闪烁的加载效果可能让用户不清楚页面是否出现问题。骨架屏用一种“结构化”的方式替代空白页,让用户有一个视觉提示,了解页面加载进度。
  3. 提升加载感知速度:
    用户通常会感知到骨架屏的加载速度比纯粹的白屏更快,即使后台的数据或内容加载还需要一点时间,骨架屏可以在视觉上让用户觉得页面更迅速地响应。
  4. 适应各种内容加载情况:
    骨架屏可以根据内容的不同而灵活设计,适应文本、图片、视频等多种页面内容的加载。
  • 骨架屏的常见使用场景:
  1. 长时间加载的页面:
    如社交媒体动态、新闻类文章列表、电子商务网站的商品列表等,它们可能包含大量的图片、视频和复杂的数据,骨架屏可以帮助提升加载时的用户体验。
  2. 单页应用(SPA):
    在SPA应用中,用户在页面之间切换时,骨架屏可以在新页面内容加载前作为占位符,避免空白和白屏现象。

骨架屏的实现原理

骨架屏通常通过占位符来实现。这些占位符是页面元素的简化版本,通常是灰色的矩形框、圆形等,用来代表页面的结构或是将要加载的内容。一旦实际内容加载完成,骨架屏被实际内容替换。

  • 常见的实现方式有:
  1. CSS动画: 使用 CSS 动画来实现骨架屏的效果,例如“闪动”或“渐变”的效果。例如通过 @keyframes 实现加载动画。
  2. JavaScript渲染: 在页面渲染过程中,先显示骨架屏,待内容加载完后,用 JavaScript 动态替换掉骨架屏。
  3. Vue 或 React 等框架方式:在 SPA 应用中,可以通过框架的组件化机制,使用条件渲染来显示骨架屏。例如,可以根据数据是否加载完成来切换显示骨架屏或实际内容。
  4. 第三方库:有许多第三方库专门提供骨架屏的实现,如 vue-content-loader 和 react-loading-skeleton,这些库提供了预设的骨架屏组件,简化了骨架屏的实现。

实战

相关文章:

  • 如何判断IP是否被平台标记
  • JVM类加载
  • USB传输模式
  • 深入理解 iOS 开发中的 `use_frameworks!`
  • 【MCP】其他MCP服务((GitHub)
  • 2025年AI工程师认证深度解析:AAIA认证体系全景指南与实战策略
  • 电商物流的“速度与激情”:从城际运输到即时配送的全链路解析
  • 洛谷 P1082:[NOIP 2012 提高组] 同余方程 ← 求逆元
  • 专业课复习笔记 9
  • BUUCTF——PYWebsite
  • 新书速览|纯血鸿蒙HarmonyOS NEXT原生开发之旅
  • 2025年阿里云ACP人工智能高级工程师认证模拟试题(附答案解析)
  • 杭州电商全平台代运营领军者——品融电商
  • 【华为HCIP | 华为数通工程师】821—多选解析—第二十三页
  • Clickhouse 迁移到 Doris 的最佳实践
  • C++中的std::allocator
  • VMware虚拟机实例-docker启动失败
  • 洛谷B3648 [语言月赛202208] 你几岁了
  • SDK does not contain ‘libarclite‘ at the path
  • ✅ TensorRT Python 安装精简流程(适用于 Ubuntu 20.04+)
  • 王毅集体会见加勒比建交国外长及代表
  • 长沙查处疑似非法代孕:有人企图跳窗,有女子被麻醉躺手术台
  • 美英贸易协议|不,这不是一份重大贸易协议
  • 商务部就开展打击战略矿产走私出口专项行动应询答记者问
  • 普京提议重启俄乌直接谈判后,特朗普表态了
  • 构筑高地共伴成长,第六届上海创新创业青年50人论坛在沪举行